один и тот же запрос с удаленного сервера и на сервере, разные результаты

#sql #sql-server #tsql

#sql #sql-сервер #tsql

Вопрос:

У меня есть сервер под названием ERP-SERVER и сервер под названием SQLDEV-SERVER. У них обоих есть экземпляр blob-объекта, но мы никогда не копируем весь blob-объект на SQLDEV-СЕРВЕР, поскольку это было бы слишком много данных.

Поэтому при попытке получить доступ к файлу на нашем тестовом сервере следует сначала проверить, существует ли этот файл на SQLDEV-СЕРВЕРЕ, и, если нет, проверить, существует ли файл на ERP-СЕРВЕРЕ. Вот где все идет не так. Этот фрагмент кода (SQL) раньше работал, но где-то по пути он сломался. Я сузил его до запроса между базами данных, просто возвращающего совершенно разные результаты.

итак, например, я запускаю этот запрос на экземпляре ERP-СЕРВЕРА в SQL management studio:

 SELECT count(*)
FROM [erp-server].[Extranet_Blob].[dbo].[FileStorBlob] 
  

это возвращает 223221 результат.

Когда я запускаю тот же запрос на экземпляре SQLDEV-SERVER в SQL management studio, он возвращает 313 результатов.

Он указывает на тот же сервер и ту же базу данных, но с совершенно другим количеством, поэтому он также не возвращает файлы из рабочей среды, когда они не найдены в среде разработки.

Есть какие-либо указания на то, где может находиться эта проблема?

Комментарии:

1. У вас есть несколько подключенных экземпляров в SSMS? Попробуйте в SQL Management Studio отключиться и снова подключиться к нужному экземпляру и снова выполнить запрос.

Ответ №1:

Посмотрите очень внимательно на определение вашего связанного сервера. Когда вы выполняете запрос на SQLDEV-СЕРВЕРЕ, он использует определение связанного сервера с этим именем, а не обязательно ERP_Server. Возможно ли, что кто-то подправил определение?

Комментарии:

1. Вот и все, этот экземпляр был недавно создан заново, и связанное определение сервера указывало на себя, потому что оно не могло разрешить