我最近将我们的SQL Server从2005升级到2014年(链接服务器),我注意到调用exec命令执行升级后的链接服务器上的存储过程的存储过程之一失败并出现错误
无法在sys.servers.Verify中找到指定了正确服务器名称的服务器"服务器名称".如有必要,执行存储过程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)
Run Code Online (Sandbox Code Playgroud)
然而,失败的错误是在下面
exec linkedserver.database.dbo.failing_storedprocedure @id,'load ','v2',@file_name, @list_id = @listid output;
Run Code Online (Sandbox Code Playgroud)
我重新创建了链接服务器并启用了RPC.我已经为存储过程授予了执行权限.我可以在链接服务器上选择记录并执行其他存储过程,但上面的exec失败(它在升级之前有效).SQL Server 2005和SQL Server 2014之间是否存在导致此失败的语法差异?
sql sql-server stored-procedures linked-server sql-server-2014