Я пытаюсь написать запрос, чтобы получить дельту между моим сервером и связанным сервером. Поэтому я написал следующее, которое работало до:
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 + '')
)
Однако синтаксис во втором запросе неверен, и я не могу определить правильный синтаксис.
Я ценю любой направление