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

Если пользователь не изменит его, то, когда экземпляр Microsoft SQL Server по умолчанию прослушивает протокол именованных каналов, он использует \\.\pipe\sql\query в качестве имени канала. Точка указывает, что компьютер является локальным компьютером, указывает, pipe что соединение является именованным каналом, а sql\query — именем канала. Чтобы подключиться к каналу по умолчанию, псевдоним должен содержать \\<computer_name>\pipe\sql\query в качестве имени канала. Если SQL Server настроен для прослушивания в другом канале, имя канала должно использовать этот канал. Например, если SQL Server используется \\.\pipe\unit\app в качестве канала, псевдоним должен использовать \\<computer_name>\pipe\unit\app в качестве имени канала.

Создание допустимого имени канала

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

  • Выберите Именованные каналы в качестве протокола.

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

  • Укажите сервер. Для именованного экземпляра можно ввести имя сервера и имя экземпляра.

Во время подключения компонент SQL Server Native Client считывает значения имени сервера, протокола и канала из реестра для указанного имени псевдонима и создает имя канала в формате np:\\<computer_name>\pipe\<pipename> или np:\\<IPAddress>\pipe\<pipename>. Для именованного экземпляра имя канала по умолчанию — \\<computer_name>\pipe\MSSQL$<instance_name>\sql\query.

Примечание

Брандмауэр Microsoft Windows по умолчанию закрывает порт 445. Так как MicrosoftSQL Server обменивается данными через порт 445, необходимо повторно открыть порт, если SQL Server настроено для прослушивания входящих клиентских подключений с помощью именованных каналов. Информацию о настройке брандмауэра см. в статье "Настройка брандмауэра Windows для разрешения доступа к SQL Server" в электронной документации по SQL Server или документации по вашей версии брандмауэра.

Подключение к локальному серверу

При подключении к SQL Server, работающему на том же компьютере, что и клиент, можно использовать (local)в качестве имени сервера. Применение (local) не рекомендуется, поскольку может вызвать неоднозначность, но может быть полезным, если известно, что клиент запущен на нужном компьютере. Например, при создании приложения для мобильных отключенных пользователей, таких как торговый персонал, когда SQL Server будет запускаться на переносных компьютерах и использоваться для хранения данных проекта, клиент, подключающийся к (local) , будет всегда подключаться к SQL Server , выполняющемуся на переносном компьютере. Слово localhost или точку (.) можно использовать вместо (local).

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

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

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

Примеры

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

Alias Name         <serveralias>  
Pipe Name          <blank>  
Protocol           Named Pipes  
Server             <servername>  
  

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

Alias Name         <serveralias>  
Pipe Name          <leave blank>  
Protocol           Named Pipes  
Server             <IPAddress>  
  

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

Alias Name         <serveralias>  
Pipe Name          \\<servername>\pipe\unit\app  
Protocol           Named Pipes  
Server             <servername>  
  

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

Alias Name         <serveralias>  
Pipe Name          \\<servername>\pipe\MSSQL$<instancename>\SQL\query  
Protocol           Named Pipes  
Server             <servername>  
  

Подключение к локальному компьютеру при помощи localhost:

Alias Name         <serveralias>  
Pipe Name          <blank>  
Protocol           Named Pipes  
Server             localhost  
  

Соединение с локальным компьютером при помощи точки:

Alias Name         <serveralias>  
Pipe Name          <left blank>  
Protocol           Named Pipes  
Server             .  
  

Примечание

Сведения о том, как указать сетевой протокол в качестве параметра sqlcmd, см. в разделе "Практическое руководство. Подключение к ядру СУБД с помощью sqlcmd.exe" электронной документации по SQL Server.

См. также:

Создание допустимой строки соединения с использованием протокола общей памяти
Создание допустимой строки подключения с использованием протокола TCP/IP
Выбор сетевого протокола