"无法在sys.servers中找到服务器"删除时,但选择时确定

时间:2015-07-01 10:45:45

标签: sql-server

我们目前的某个链接服务器存在问题。

如果我运行此代码就可以了

SELECT *
FROM [LINKEDSERVER].[databasename].dbo.[tablename] a
INNER JOIN [localdb].dbo.[localtable] b
on b.somefield = a.somefield

但这失败了

DELETE FROM a 
FROM [LINKEDSERVER].[databasename].dbo.[tablename] a
INNER JOIN [localdb].dbo.[localtable] b
on b.somefield = a.somefield

给出错误:

OLE DB provider "SQLNCLI10" for linked server <servername> returned message "Multiple-step OLE DB operation generated errors. Check each OLE DB status value, if available. No work was done.".
Msg 7202, Level 11, State 2, Line 1
Could not find server <servername> in sys.servers. Verify that the correct server name was specified. If necessary, execute the stored procedure sp_addlinkedserver to add the server to sys.servers.

链接服务器确实出现在sys.sysservers中,我尝试删除和读取链接服务器,但没有效果:

exec sp_dropserver <servername>, droplogins
exec sp_addserver <servername>
exec sp_serveroption <servername>, 'data access' , 'true'

链接服务器是SQL 2005,链接服务器是2008R2

如果这是相关的(似乎可能),我最近迁移了我们要链接到新硬件的SQL服务器(使用新的SQL安装等)并将新硬件服务器的IP更改回旧服务器的连续性。在所有其他方面,这一切都很好。我们从来没有在旧服务器上遇到过这个问题。

0 个答案:

没有答案