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

SSMS - Querying multiple servers in a single query

所以我在 SSMS 的 SQLCMD 模式下尝试 运行 这个查询:

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

但是出现此错误,不确定我做错了什么。任何帮助,将不胜感激。谢谢!

Fatal scripting error. Cannot open connection specified in the SQLCMD script.

这对 SQLCMD 查询无效,您将无法通过这种方式执行您尝试的操作。

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

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