Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Ошибка Linked Server - Named Pipes Provider: Could not open a connection to SQL Server  [new]
Toetomi
Member

Откуда:
Сообщений: 27
Пытался найти ответы на свою проблему в форуме, но так и не нашел.
Ситуация следующая.
создан Linked Server
EXEC master.dbo.sp_addlinkedserver @server = N'Имя сервера', @srvproduct=N'SQL Server'
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'Имя сервера',@useself=N'False',@locallogin=NULL,@rmtuser=N'Имя Пользователя',@rmtpassword='хххххххх'

Задаю запрос с консоли сервера, на котором создан линкед, примерно
select top 10
*
from Имя сервера.БД.dbo.Table
все отрабатывает без проблем

если же задать запрос с любой рабочей станции, то выдается сообщение
OLE DB provider "SQLNCLI" for linked server "Имя сервера" returned message "Login timeout expired".
OLE DB provider "SQLNCLI" for linked server "Имя сервера" returned message "An error has occurred while establishing a connection to the server. When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections.".
Msg 5, Level 16, State 1, Line 0
Named Pipes Provider: Could not open a connection to SQL Server [5]. 
на обоих серверах
основной SQL Server 2005 - 9.00.4262 Developer Edition
прилинкованный SQL Server 2005 - 9.00.4035 Enterprise Edition
в Configuration Manager указаны Client Protocols: 1 - TCP/IP, 2 - Named Pipes - на обоих серверах
в Surface Area - Remote Connection - Using both TCP/IP and named pipes
серверы пингуются...
особенности: с сервером, который прилинковываю, работает много других серверов, причем без проблем, а вот с этим не могу прилинковаться, скорее всего, проблема в нем, но вот в чем именно?
22 авг 11, 05:03    [11154706]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка Linked Server - Named Pipes Provider: Could not open a connection to SQL Server  [new]
Toetomi
Member

Откуда:
Сообщений: 27
Еще одно добавление - особенность.
Если задать запрос с консоли сервера (который выдает нужный результат) и не выходить с консоли или периодически запрашивать прилинкованный сервер, просто посылая простой запрос, то с рабочей станции запросы на прилинкованный сервер тоже начинают отрабатывать, но если разлогиниться с консоли, или долгое время не кидать запросы с консоли на прилинкованный сервер, то с рабочей станции запросы не отрабатывают и вылетают с указанной выше ошибкой.
22 авг 11, 05:15    [11154709]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка Linked Server - Named Pipes Provider: Could not open a connection to SQL Server  [new]
aleks2
Guest
Апять безграмотные программеры?

1.
Toetomi
Задаю запрос с консоли сервера, на котором создан линкед, примерно

и
Toetomi
если же задать запрос с любой рабочей станции, то выдается сообщение

Две большие разницы с точки зрения авторизации на LinkedServer.

Вкурите
a) {сервер, на котором создан линкед} -> {LinkedServer}
и
б) {рабочая станция} -> {сервер, на котором создан линкед} -> {LinkedServer}

Подключение Named Pipes требует Windows-авторизации на {LinkedServer}, независимо от используемого типа авторизации MS SQL LinkedServer.

Для a) авторизация под учетной записью пользователя на {LinkedServer} тривиальна, ибо {сервер, на котором создан линкед} обладает знанием ПАРОЛЯ пользователя и лехко авторизуется на {LinkedServer}.

Для б) авторизация на {LinkedServer} НЕ тривиальна. Ибо откель {сервер, на котором создан линкед} возмет ПАРОЛЬ пользователя Windows? Тут ситуация усугубляется документированной особенностью MS SQL 2005/2008 - никогда не лезть в сеть под учетными данными самой службы MS SQL, если пользователь подключен Windows-авторизацией.

Варианты решения
1. Отказаться от Named Pipes.
2. Курить до просветления Credentials и Delegations. Но, лично я не въехал: можно ли прикрутить Credential к вызову Linked Server.
22 авг 11, 06:42    [11154725]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка Linked Server - Named Pipes Provider: Could not open a connection to SQL Server  [new]
Toetomi
Member

Откуда:
Сообщений: 27
aleks2
Апять безграмотные программеры?

1.
Toetomi
Задаю запрос с консоли сервера, на котором создан линкед, примерно

и
Toetomi
если же задать запрос с любой рабочей станции, то выдается сообщение

Две большие разницы с точки зрения авторизации на LinkedServer.

Вкурите
a) {сервер, на котором создан линкед} -> {LinkedServer}
и
б) {рабочая станция} -> {сервер, на котором создан линкед} -> {LinkedServer}

Подключение Named Pipes требует Windows-авторизации на {LinkedServer}, независимо от используемого типа авторизации MS SQL LinkedServer.

Для a) авторизация под учетной записью пользователя на {LinkedServer} тривиальна, ибо {сервер, на котором создан линкед} обладает знанием ПАРОЛЯ пользователя и лехко авторизуется на {LinkedServer}.

Для б) авторизация на {LinkedServer} НЕ тривиальна. Ибо откель {сервер, на котором создан линкед} возмет ПАРОЛЬ пользователя Windows? Тут ситуация усугубляется документированной особенностью MS SQL 2005/2008 - никогда не лезть в сеть под учетными данными самой службы MS SQL, если пользователь подключен Windows-авторизацией.

Варианты решения
1. Отказаться от Named Pipes.
2. Курить до просветления Credentials и Delegations. Но, лично я не въехал: можно ли прикрутить Credential к вызову Linked Server.

В этих вопросах я действительно безграмотен, т.к. администрированием не приходилось заниматься.
Тогда вопрос такой "Отказаться от Named Pipes" - что имеется в виду? Какие действия предпринять?
22 авг 11, 07:11    [11154732]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка Linked Server - Named Pipes Provider: Could not open a connection to SQL Server  [new]
aleks2
Guest
Дык TCP/IP-протокол включить на сервере и клиенте. А NamedPipe - выключить.
22 авг 11, 08:22    [11154783]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка Linked Server - Named Pipes Provider: Could not open a connection to SQL Server  [new]
Toetomi
Member

Откуда:
Сообщений: 27
aleks2
Дык TCP/IP-протокол включить на сервере и клиенте. А NamedPipe - выключить.

Так-с давайте детально :)
на консоли сервера запустить SQL Server Configuration Manager
там в ветках:
SQL Server Network Configuration -> Protocols for MSSQLServer -> оставить только TCP/IP Enabled, остальные Disabled
SQL Native Client Configuration -> Client Protocols -> аналогично вышеуказанному

Так?
22 авг 11, 08:30    [11154788]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка Linked Server - Named Pipes Provider: Could not open a connection to SQL Server  [new]
aleks2
Guest
1. Достаточно везде поднять TCP/IP наверх списка.

2. Но можна, канешно, и перестраховаться... похерить все, окромя TCP/IP, на всех
{рабочая станция}; {сервер, на котором создан линкед}; {LinkedServer}
22 авг 11, 10:14    [11155027]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка Linked Server - Named Pipes Provider: Could not open a connection to SQL Server  [new]
Toetomi
Member

Откуда:
Сообщений: 27
Если так, то это не помогло!
22 авг 11, 10:14    [11155033]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка Linked Server - Named Pipes Provider: Could not open a connection to SQL Server  [new]
aleks2
Guest
Toetomi
Если так, то это не помогло!

Хе-хе?

Ты будешь утверждать, что после ОТКЛЮЧЕНИЯ Named Pipes, сервер по-прежнему вещает:
"Named Pipes Provider: Could not open a connection to SQL Server [5]."

Позволю себе заметить: это несколько нелогично.
22 авг 11, 10:30    [11155115]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка Linked Server - Named Pipes Provider: Could not open a connection to SQL Server  [new]
Toetomi
Member

Откуда:
Сообщений: 27
aleks2
Toetomi
Если так, то это не помогло!

Хе-хе?

Ты будешь утверждать, что после ОТКЛЮЧЕНИЯ Named Pipes, сервер по-прежнему вещает:
"Named Pipes Provider: Could not open a connection to SQL Server [5]."

Позволю себе заметить: это несколько нелогично.

Согласен, нелогично!
Но так оно и есть...
23 авг 11, 01:16    [11161011]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка Linked Server - Named Pipes Provider: Could not open a connection to SQL Server  [new]
Toetomi
Member

Откуда:
Сообщений: 27
Нужны еще идеи
23 авг 11, 01:17    [11161013]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка Linked Server - Named Pipes Provider: Could not open a connection to SQL Server  [new]
Toetomi
Member

Откуда:
Сообщений: 27
Вопрос остается актуальным...
24 авг 11, 09:53    [11169045]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить