Создание допустимой строки соединения, использующей протокол VIA

Чтобы создать допустимую строку соединения, использующую протокол VIA, необходимо ввести все следующие элементы:

  • Укажите Имя псевдонима.

  • В поле Параметры Via укажите номер сетевого адаптера и вслед за ним — номер порта. Если поле оставить пустым, VIA попытается подключиться к порту <NIC#>:1433.

  • Укажите VIA в поле Протокол.

  • В поле Сервер введите имя сервера или <имя_сервера>\<имя_экземпляра> для именованного экземпляра.

Во время подключения компонент собственного клиента SQL Server считывает значения Сервер, Протокол и Параметры VIA из реестра для указанного Имени псевдонима и создает строку соединения в формате via:<servername> [\instancename],<nic number>:<port>.

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

Если на одном компьютере установлены два или более экземпляров Microsoft SQL Server, соединения по протоколу VIA могут быть неоднозначными. Если протокол VIA разрешен, то он предпринимает попытки использовать параметры TCP/IP, а прослушивание осуществляется в порту 0:1433. Для драйверов VIA, которые не допускают настройку порта, оба экземпляра SQL Server прослушивают один и тот же порт. Входящие клиентские соединения могут соединиться с правильным экземпляром сервера или с неверным экземпляром сервера, а кроме того, соединение может быть запрещено, потому что порт уже используется.

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

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

Проверка протокола соединения

Следующий запрос возвратит протокол, используемый в текущем соединении.

SELECT net_transport 
FROM sys.dm_exec_connections 
WHERE session_id = @@SPID;

Примеры:

Подключение по имени сервера:

Alias Name         ServerAlias
Via Parameters     0:1433
Protocol           VIA
Server             <servername>

Подключение по имени сервера к именованному экземпляру:

Alias Name         ServerAlias
Via Parameters     0:1433
Protocol           VIA
Server             <servername>\<instancename>
ПримечаниеПримечание

Чтобы определить сетевой протокол в качестве параметра sqlcmd, обратитесь к разделу электронной документации «Как подключиться к компоненту Database Engine при помощи sqlcmd.exe».