查询SQL链接服务器仅从一个服务器提取数据

时间:2014-10-22 14:23:28

标签: sql sql-server linked-server

我有四个以下列方式命名的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部分命名约定中指定哪个服务器。任何想法可能会发生在这里。服务器显示在链接服务器列表中。

1 个答案:

答案 0 :(得分:0)

如果您可以在不破坏内容的情况下进行更改(或者如果您的意见已经足够破坏),我建议您重新创建链接的服务器。如果链接服务器是另一个SQL Server,则可以执行

exec sp_dropserver 'dbs';
exec sp_addlinkedserver 'dbs';

这将创建一个具有默认配置的链接服务器定义,该配置适用于大多数应用程序(之后仍可进行调整)。