我有四个以下列方式命名的SQL Server:
dbs
dbs2
dbs3
dbs4
我有一个在dbs3上的表,在database1中称为table1。其他服务器上不存在此表。但是当我运行查询时:
select *
from dbs.database1.dbo.table1 (or any of the database servers)
它返回结果,好像我查询了dbs3上的现有表。就像DBMS忽略查询中的4部分命名并从dbs3上的表返回结果,无论我尝试在4部分命名约定中指定哪个服务器。任何想法可能会发生在这里。服务器显示在链接服务器列表中。
答案 0 :(得分:0)
如果您可以在不破坏内容的情况下进行更改(或者如果您的意见已经足够破坏),我建议您重新创建链接的服务器。如果链接服务器是另一个SQL Server,则可以执行
exec sp_dropserver 'dbs';
exec sp_addlinkedserver 'dbs';
这将创建一个具有默认配置的链接服务器定义,该配置适用于大多数应用程序(之后仍可进行调整)。