Создание допустимой строки соединения, использующей протокол именованных каналов
Когда экземпляр по умолчанию 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 считывает значения сервера, протокола и имени канала из реестра для заданного имени псевдонима и создает имя канала в формате np:\\<computer_name>\pipe\<pipename>
или np:\\<IPAddress>\pipe\<pipename>
. Для именованного экземпляра канал по умолчанию имеет имя \\<computer_name>\pipe\MSSQL$<instance_name>\sql\query
.
Примечание. |
---|
Microsoft Windows XP с пакетом обновления 2 (SP2) включает брандмауэр Windows, который по умолчанию закрывает порт 445. Так как Microsoft SQL Server осуществляет связь через порт 445, необходимо повторно открыть порт, если SQL Server настроен на прослушивание клиентских соединений при помощи именованных каналов. Сведения о настройке брандмауэра см. в разделе «Как настроить брандмауэр для приложения SQL Server Access» в электронной документации по 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 см. в разделе «Как соединиться с компонентом Database Engine при помощи программы sqlcmd.exe» электронной документации по SQL Server. |
См. также
Справочник
Создание допустимой строки соединения с использованием протокола общей памяти
Создание допустимой строки соединения с использованием протокола TCP/IP
Создание допустимой строки соединения, использующей протокол VIA