SQL Открытый запрос к связанному серверу для предложения WHERE - PullRequest
0 голосов
/ 09 февраля 2020

Я пытаюсь написать запрос, чтобы получить дельту между моим сервером и связанным сервером. Поэтому я написал следующее, которое работало до:

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 + '')
)

Однако синтаксис во втором запросе неверен, и я не могу определить правильный синтаксис.

Я ценю любой направление

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...