LINKED Сервер не возвращает все строки

Для меня это немного странно. У меня есть сценарий вроде

DECLARE @maxCustId INT
SELECT @maxCustId = MAX(CustomerId) FROM Customers
SELECT * INTO #temp FROM linkserver.DB.dbo.Customers where CustomerId > @maxCustId 

-- Copy records to local db Custome table

DROP TABLE #temp

, но иногда #temp не извлекает все записи со связанного сервера.

Как будто у меня было Max CustomerId = 1138 в моей локальной базе данных, и когда я запускаю указанный выше скрипт, моя временная таблица (которая извлекает записи со связанного сервера) пропускает CustoemrIds 1140, 1141 . Связанный сервер имеет клиентов до 1160 . Таблица #temp содержит записи до 1160 , но пропускает две записи, то есть 1140, 1141

Я запускаю этот сценарий снова и снова и при 4-й попытке запись 1141 добавлен в таблицу #temp, но запись 1140 все еще отсутствует.

Затем я помещаю следующий запрос на локальный сервер, чтобы проверить запись на связанном сервере

SELECT * FROM linkserver.DB.dbo.Customers where CustomerId = 1140

Вышеуказанный запрос не возвращает никаких записей.

Чтобы проверить это, я пошел на связанный сервер и написал тот же запрос на сервере, с которого я создал СВЯЗАННЫЙ сервер .

-- This is the server which I am using as linked server in my local server
SELECT * FROM Customers where CustomerId = 1140

Custoemr 1140 находился в базе данных, и я был уверен, что он будет там, но я запускаю указанный выше сценарий, чтобы проверить его.

Я возвращаюсь на свой локальный сервер и запускаю этот запрос

SELECT * FROM linkserver.DB.dbo.Customers where CustomerId = 1140

На этот раз мой связанный сервер возвращает клиента 1140 , которого он не возвращал ранее.

Я снова выполняю весь запрос, и теперь в моей таблице #temp есть все записи.

Я так сбит с толку, почему первый связанный сервер не вернул все записи.

Это образец из длинной процедуры, которая копирует записи со связанного сервера на локальный сервер, и по этой причине моя локальная база данных имеет меньше записей, чем база данных связанного сервера. db I query.

  • Связанный сервер db часто обновляется
  • Нет NOLOCK на любом этапе запроса
  • Любая помощь.

    6
    задан Kashif 17 March 2011 в 13:18
    поделиться