У меня есть экземпляр SQL Server, Instance1
, который имеет связанный SQL Server, Instance2
. Связанный сервер технически работает, однако я уверен, что Instance1
подключается к Instance2
через именованные каналы. Я могу это очень ясно увидеть, протестировав образец запроса с использованием TCP / IP и именованных каналов. Время выполнения запроса - это разница между <1 второй для TCP / IP и > 45 секунд для именованных каналов.
Могу ли я принудительно включить связанный SQL Server Instance1
использовать TCP / IP при подключении к Instance2
? Мне не удалось найти никакой информации по этому поводу. Есть ли у меня другие варианты, если это невозможно?
Я попытался создать связанный сервер, указав порт, но, похоже, он все равно использует именованные каналы, т.е. я создал его как Instance2,1433
. Может быть, есть способ сказать master
база данных для использования TCP / IP для связанных серверов?
Любая помощь приветствуется. Я надеюсь, что ответ будет не "Отключить именованные каналы в Instance2
Конфигурация SQL », хотя я понимаю, что мне, возможно, придется это сделать, если я не смогу заставить это работать.
Изменить: я, без сомнения, подтвердил, что именно именованные каналы вызывают проблему, и я видел ту же проблему с именованными каналами раньше (это хорошо задокументированное поведение именованных каналов). Я просто не видел, как решить эту проблему при использовании связанных серверов.
Я успешно попробовал Строка подключения метод принудительного выполнения протокола: Data Source=protocol:servername, portnumber;
Пример:
EXEC master.dbo.sp_addlinkedserver @server = N'DB_OBRA', @srvproduct=N'sql_server', @provider=N'SQLNCLI11', @datasrc=N'tcp:10.0.34.33'