Как SQL взаимодействует с базой данных по сети, не разделяя какие-либо физические файлы? - PullRequest
0 голосов
/ 04 июня 2018

Заранее извините, если вопрос звучит неубедительно, но я не могу найти ответ в Интернете.

Как SQL взаимодействует с базой данных по сети без обмена какими-либо физическими файлами?

Как, например, если мы используем доступ и хотим получить доступ к данным по сети, мы должны предоставить общий доступ к файлу БД, чтобы он мог быть доступен в сети, НО в случае SQL Server я никогда не видел, чтобы какие-либо файлы БД SQL передавались по сети.

Какой метод они используют для этого?

Ответы [ 2 ]

0 голосов
/ 04 июня 2018

Чтобы понять, давайте сначала кратко поговорим о двух основных протоколах, которые сегодня широко используются:

  • 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/

0 голосов
/ 04 июня 2018

Точно так же, как когда вы отправляете поиск в вашу любимую поисковую систему (Google, Bing и т. Д.), Они не отправляют вам весь свой набор данных только для того, чтобы вы могли найти то, что искали, поэтомус сервером базы данных.Данные хранятся на сервере (вероятно, в сети), и все получают доступ к этому месту.

...