В компании, в которой я работаю, в настоящее время используются 3 сервера xSQL 2005 и сервер 1xSQL 2000. Все серверы 2005 года могут связываться друг с другом, однако они не могут связываться с сервером 2000 года. С другой стороны, сервер 2000 может связываться со всеми 3 серверами 2005 года.
Когда сервер 2005 года пытается подключиться к серверу 2000 года, я получаю следующую ошибку:
Поставщик OLE DB "SQLNCLI" для связанного сервера "2000srv" вернул сообщение "Истекло время ожидания входа в систему". Поставщик OLE DB "SQLNCLI" для связанного сервера "2000srv" вернул сообщение "Произошла ошибка при установлении соединения с сервером. При подключении к SQL Server 2005 этот сбой может быть вызван тем, что при настройках по умолчанию SQL Server выполняет не разрешать удаленные подключения. ". Сообщение 5, уровень 16, состояние 1, строка 0 Поставщик именованных каналов: не удалось открыть соединение с SQL Server [5].
Я убедился, что каждый сервер добавляется с помощью хранимой процедуры:
EXEC master.dbo.sp_addlinkedserver @server = N'2000srv ', @ srvproduct = N'SQL Server'
Затем я протестировал с помощью sp_testlinkedserver. Все успешно прошли тест, за исключением любого сервера 2005 года, который пытался подключиться к серверу 2000 года.
Какие предложения и возможные решения вы бы порекомендовали для устранения этой ошибки?
Системные хранимые процедуры не обновляются должным образом с помощью SQL2000 SP3 / SP4. Вам необходимо запустить instcat.sql вручную. http://support.microsoft.com/default.aspx?scid=kb;en-us;906954