Sql server SQL Server链接服务器openquery for WHERE子句

Sql server SQL Server链接服务器openquery for WHERE子句,sql-server,linked-server,openquery,Sql Server,Linked Server,Openquery,我正在尝试编写一个查询,以获取我的服务器和链接服务器之间的增量。因此,我写了以下内容,一直到: Select MD5 FROM ServerA A WHERE NOT EXISTS ( SELECT 1 FROM [LinkedServer].[Database].[dbo].[Files] fi WHERE A.MD5High = fi.MD5High AND A.MD5Low = fi.MD5Low ) 但是,这会将所有数据从LinkedServer拉到我的服务器,从而导致我的服务器资源

我正在尝试编写一个查询,以获取我的服务器和链接服务器之间的增量。因此,我写了以下内容,一直到:

Select MD5 FROM  ServerA A
WHERE NOT EXISTS
(
SELECT 1
FROM [LinkedServer].[Database].[dbo].[Files] fi
WHERE A.MD5High = fi.MD5High AND A.MD5Low = fi.MD5Low
)
但是,这会将所有数据从LinkedServer拉到我的服务器,从而导致我的服务器资源耗尽。因此,我的下一次尝试是在链接服务器上执行查询

Select MD5 FROM  ServerA A
WHERE NOT EXISTS
(
SELECT 1
FROM OPENQUERY( [LinkedServer] , 'SELECT [LinkedServer].[Database].[dbo].[Files] fi
WHERE fi.MD5High = ' + A.MD5Low + ' AND  fi.MD5Low= ' + a.MD5Low + '')
)
但是,第二个查询中的语法不正确,我无法找到正确的语法


我很欣赏任何方向

尝试在第一次查询中选择TOP(1)1。Dale不会选择TOP(1)1只返回一行吗?对于
存在的情况来说,这就足够了