SSMS - 在单个查询中查询多个服务器

时间:2016-08-11 21:44:54

标签: sql sql-server tsql ssms

所以我得到了这个查询,我试图在SSMS中以SQLCMD模式运行:

:CONNECT SERVER1
  select * 
  from [SERVER1].DB1.dbo.Project
  where id not in 
  (
      :CONNECT [SERVER2]
      select distinct id from [SERVER2].DB2.dbo.Project 
  );

然而得到这个错误,不确定我做错了什么。任何帮助,将不胜感激。谢谢!

  

致命脚本错误。无法打开SQLCMD中指定的连接   脚本。

1 个答案:

答案 0 :(得分:3)

这对SQLCMD查询无效,您无法以这种方式尝试做到这一点。

通过他们的4部分命名连接到链接服务器。从中取出控制语言。这里不需要SQLCMD。

  select * 
  from [SERVER1].DB1.dbo.Project
  where id not in 
  (
      select distinct id from [SERVER2].DB2.dbo.Project 
  );