【问题标题】:Could not find server 'server name' in sys.servers. SQL Server 2014在 sys.servers 中找不到服务器“服务器名称”。 SQL Server 2014
【发布时间】:2016-06-18 09:58:43
【问题描述】:

我最近将我们的 SQL Server 从 2005 升级到 2014(链接服务器),我注意到调用 exec 命令以在升级的链接服务器上执行存储过程的存储过程之一失败并出现错误

在 sys.servers 中找不到服务器“服务器名称”。请验证是否指定了正确的服务器名称。如有必要,执行存储过程 sp_addlinkedserver 将服务器添加到 sys.servers。

问题是链接服务器存在,我已经完成测试以确保我可以从链接服务器查询表。以下是我为查看链接服务器是否配置正确所做的检查。

 - 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。我已授予对存储过程的执行权限。我可以在链接服务器上选择记录并执行其他存储过程,但上述 exec 失败(升级前它工作)。SQL Server 2005 和 SQL Server 2014 之间是否存在语法差异导致此失败?

【问题讨论】:

标签: sql sql-server stored-procedures sql-server-2014 linked-server


【解决方案1】:

首先检查您的链接服务器是否在此查询列表中

select name from sys.servers

如果不存在则尝试添加到链接服务器

EXEC sp_addlinkedserver @server = 'SERVER_NAME' --or may be server ip address

之后通过

登录到该链接服务器
EXEC sp_addlinkedsrvlogin 'SERVER_NAME'
                         ,'false'
                         ,NULL
                         ,'USER_NAME'
                         ,'PASSWORD'

然后你可以做任何你想做的事,把它当作你的本地服务器

exec [SERVER_NAME].[DATABASE_NAME].dbo.SP_NAME @sample_parameter

最后,您可以通过

从链接服务器列表中删除该服务器
sp_dropserver 'SERVER_NAME', 'droplogins'

如果对你有帮助,请点赞。

【讨论】:

    【解决方案2】:

    我发现了这个问题。链接服务器已正确创建。但是,服务器升级并切换后sys.servers中的服务器名称仍然是旧的服务器名称。

    我不得不删除旧服务器名称并将新服务器名称添加到新服务器上的sys.servers

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

    【讨论】:

    • 请注意,这在 sql server 2014 中不再有效 - 它会导致消息:“功能 "sp_addserver" 不再受支持。使用链接服务器替换远程服务器。”
    【解决方案3】:

    由于链接服务器名称中有多余的空格,我遇到了问题。 “服务器 1, 1234” 代替 "SERVER1,1234"

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-11
      相关资源
      最近更新 更多