Не удалось найти сервер "имя сервера" в sys.сервера. SQL Server 2014

недавно я обновил наш SQL Server с 2005 по 2014 год (связанный сервер), и я замечаю, что одна из хранимых процедур, которая вызывает команду exec для выполнения хранимой процедуры на обновленном связанном сервере, терпит неудачу с ошибкой

не удалось найти сервер "имя сервера" в sys.сервера.Убедитесь, что указано правильное имя сервера. При необходимости выполните хранимую процедуру sp_addlinkedserver для добавления сервера системный.сервера.

проблема в том, что связанный сервер существует, и я провел тесты, чтобы убедиться, что я могу запросить таблицы со связанного сервера. Вот проверки, которые я сделал, чтобы увидеть, правильно ли настроен связанный сервер.

 - select name from sys.servers -- > Lists the linked server 
 - select top 10 * from linkedserver.database.dbo.table -->  Gets top 10 records 
 - exec linkedserver.database.dbo.storedproc --> Executes the stored procedure (I created a test stored procedure on the linked server and I can execute it)

однако тот, который терпит неудачу с ошибкой, ниже

exec linkedserver.database.dbo.failing_storedprocedure  @id,'load ','v2',@file_name, @list_id = @listid output;

я воссоздал связанный сервер, и RPC включен.Я предоставил разрешение execute на хранимую процедуру. Я могу выбрать записи и выполнить другие хранимые процедуры на связанном сервере, но вышеприведенный exec не работает (он работал до обновления).Существует ли синтаксическая разница между SQL Server 2005 и SQL Server 2014, которая вызывает сбой?

1 ответов


я понял проблему. Связанный сервер был создан правильно. Однако после обновления сервера и переключения имени сервера в sys.servers еще на старое имя сервера.

мне пришлось удалить старое имя сервера и добавить новое имя сервера в sys.servers на новый сервер

sp_dropserver 'Server_A'
GO
sp_addserver  'Server',local
GO