Чтобы понять, давайте сначала кратко поговорим о двух основных протоколах, которые сегодня широко используются:
- TCP - протокол управления передачей
- UDP - протокол пользовательских дейтаграмм
Оба являются частью набора протоколов TCP / IP.
TCP - это основной протокол, по которому клиенты взаимодействуют с SQL Server.На самом деле, правильнее сказать, что клиенты и SQL Server используют поток табличных данных (TDS), но TDS фактически находится поверх TCP, а когда мы говорим о Windows, брандмауэрах и других сетевых устройствах, это протокол, который управляет иСредства управления построены вокруг.Поэтому мы будем просто говорить с точки зрения TCP.
UDP, в отличие от TCP, не ориентирован на соединение.«Клиент» может отправлять UDP-сообщения любому, кому захочет.Там нет ничего, чтобы договориться о соединении связи, нет ничего в самом протоколе, чтобы координировать порядок связи или что-то в этом роде.Если это необходимо, он должен обрабатываться приложением или протоколом, созданным поверх UDP, используемого приложением.
Сетевые коммуникации - общение с SQL Server
Когда экземпляр SQL Server настроен, зависит от того, какой TCP-порт он прослушивает.Экземпляр по умолчанию будет настроен на прослушивание порта 1433. Именованный экземпляр будет настроен на случайный порт, выбранный во время установки.Кроме того, именованный экземпляр будет настроен для динамического изменения этого порта.Это означает, что при запуске именованного экземпляра, если он находит что-то, уже используя порт, который он обычно использует, он выбирает новый порт.Если у вас есть именованный экземпляр, и у вас есть соединения, проходящие через брандмауэр, вы захотите использовать SQL Server Configuration Manager для установки статического порта.Это позволит пользователям сети и безопасности настраивать свои устройства для максимальной защиты.Хотя вы можете изменить сетевой порт для экземпляра SQL Server по умолчанию, большинство людей этого не делают.
Сетевые коммуникации - Поиск SQL Server
Когда используется только имяуказывается для подключения клиента к SQL Server, например, MySQLServer, это попытка подключения к экземпляру по умолчанию.В этом случае клиент автоматически попытается связаться с портом 1433 на MySQLServer.Если вы переключили порт для экземпляра по умолчанию, вам необходимо указать клиенту правильный порт, обычно указав следующий синтаксис в строке подключения:,.Например, если вы переместили SQL Server для прослушивания 14330, вы бы использовали MySQLServer, 14330 вместо просто MySQLServer.
Сетевые коммуникации - Именованные каналы
Именованные каналыявляется более старым механизмом связи с сетевыми библиотеками, и обычно он больше не используется.Не следует использовать через брандмауэр.Однако, если по какой-то причине вам нужно подключиться к нему с SQL Server, этот протокол также находится поверх TCP.Именованные каналы фактически используются операционной системой, и у них есть собственный механизм в протоколе, чтобы определить, куда маршрутизировать связь.Что касается сетевых коммуникаций, то он прослушивает TCP-порт 445. Это верно, говорим ли мы о стандартном или именованном экземпляре SQL Server.
Вы можете найти полный поток здесь: https://www.mssqltips.com/sqlservertip/2182/network-communications-mechanisms-for-sql-server/