Поделиться через


Выбор сетевого протокола

Для подключения к компоненту SQL Server Database Engine необходимо включить сетевой протокол. Microsoft SQL Server может обслуживать запросы через несколько протоколов одновременно. Клиенты подключаются к SQL Server при помощи одного протокола. Если программе клиента неизвестно, какой протокол прослушивается SQL Server, настройте клиент для последовательного использования нескольких протоколов. Для включения, выключения и настройки сетевых протоколов используйте диспетчер конфигурации SQL Server.

Общая память

Общая память является простейшим протоколом и не имеет настраиваемых параметров. Поскольку клиенты, использующие протокол общей памяти, могут подключаться только к экземпляру SQL Server, запущенному на том же компьютере, этот протокол неприменим к большинству действий базы данных. Используйте протокол общей памяти, чтобы устранить неполадки, если есть вероятность, что другие протоколы настроены неправильно.

ПримечаниеПримечание

Клиенты, использующие компоненты MDAC версии 2.8 или более ранней, не могут использовать протокол общей памяти. Если происходит попытка связи через протокол общей памяти, они автоматически переключаются на протокол именованных каналов.

Протокол TCP/IP

TCP/IP является распространенным протоколом, широко использующимся в Интернете. Он обеспечивает связь между сетями, в которые входят компьютеры с разнообразной аппаратной архитектурой и различными операционными системами. В TCP/IP включены стандарты для маршрутизации сетевого трафика и расширенные средства безопасности. На сегодняшний день это самый популярный протокол, использующийся в бизнесе. Настройка компьютера для использования TCP/IP может быть сложной, но большинство подключенных к сети компьютеров уже настроены необходимым образом. Для настройки параметров TCP/IP, не представленных в диспетчере конфигурации SQL Server, обратитесь к документации по Microsoft Windows.

Именованные каналы

Именованные каналы — это протокол, разработанный для локальных сетей. Для передачи данных от одного процесса к другому используется часть памяти, поэтому вывод одного процесса является вводом другого. Второй процесс может быть как локальным (находиться на том же компьютере, что и первый), так и удаленным (находиться на подключенном к сети компьютере).

Протокол VIA

Протокол VIA (Virtual Interface Architecture) работает с оборудованием VIA. Для получения дополнительных сведений о том, как использовать VIA, свяжитесь с поставщиком оборудования.

Важное примечаниеВажно!

Протокол VIA является устаревшим. В будущей версии Microsoft SQL Server эта возможность будет удалена. Избегайте использования этой возможности в новых разработках и запланируйте изменение существующих приложений, в которых она применяется.

Именованные каналы и сокеты TCP/IP

В скоростных локальных сетях производительность сокетов протокола (TCP/IP) и клиентов именованных каналов является сопоставимой. Однако в более медленных сетях, таких как глобальные сети или сети с подключением по телефонной линии, разница в производительности между сокетами TCP/IP и клиентами именованных каналов становится заметной. Это происходит из-за того, что механизмы межпроцессного взаимодействия (IPC) связываются между равноправными узлами различными способами.

В случае именованных каналов сетевые соединения обычно более интерактивны. Равноправный узел не посылает данные до тех пор, пока другой узел не запросит его при помощи команды чтения. Команда чтения перед началом считывания данных обычно запускает последовательность сообщений просмотра именованных каналов. Этот процесс может отнимать много ресурсов в медленных сетях и приводить к избыточному сетевому трафику, что в свою очередь повлияет на работу других сетевых клиентов.

Также важно выяснить, идет речь о локальных каналах или о сетевых каналах. Если приложение сервера запущено на локальном компьютере, где работает экземпляр SQL Server, можно использовать протокол локальных именованных каналов. Локальные именованные каналы работают в режиме ядра и обладают очень высокой скоростью.

Для сокетов TCP/IP передача данных осуществляется более просто и сопряжена с меньшими затратами. Передача данных также использует преимущества механизмов улучшения производительности сокетов TCP/IP, такие как многооконность, отложенные подтверждения и так далее. Это может быть весьма полезно в медленных сетях. В зависимости от типа приложений, достигнутое увеличение производительности может оказаться значительным.

Сокеты TCP/IP также поддерживают очередь незавершенных заданий. Это позволяет обеспечивать ограниченный сглаживающий эффект по сравнению с именованными каналами, которые могут вызвать ошибки занятости каналов во время попытки подключения к SQL Server.

Использование протокола TCP/IP предпочтительно в медленных локальных сетях, глобальных сетях и в сетях с подключением по телефонной сети, а именованные каналы предоставляют более широкие функциональные возможности, повышенную простоту использования и большее число параметров конфигурации, когда скорость сети не является критичным параметром.

Включение протокола

Для работы протокол должен быть включен и на сервере, и на клиенте. Сервер может одновременно прослушивать запросы по всем включенным протоколам. Компьютер клиента может выбрать один из них либо поочередно пытаться соединяться по протоколам, перечисленным в диспетчере конфигурации SQL Server.

ПримечаниеПримечание

Microsoft SQL Server не поддерживает сетевые протоколы Banyan VINES Sequenced Packet Protocol (SPP), Multiprotocol, AppleTalk и NWLink IPX/SPX. Клиенты, подключенные ранее с помощью этих протоколов, для соединения с SQL Server должны выбрать другой протокол.

Краткий учебник о настройке протоколов и подключении к компоненту Database Engine см. в разделе Учебник. Приступая к работе с компонентом Database Engine.