Нужно уточнить в SQLCmd.exe - PullRequest
0 голосов
/ 20 июля 2011

Имя файла сценария Sql spCreation.sql со следующим содержимым.

 CREATE PROCEDURE dbo.usp_select_customers
 as
 Begin
    SELECT EMP.NAME, EMP.ID FROM analysis.customerDB.dbo.employeetbl
 END

Откройте этот файл и выполните его на Queryanalyser, не создавая связанный с сервером «Анализ», он не пропускает никаких ошибок и запрос выполняется успешно.

Выполните тот же файл sql через sqlcmd, как показано в командной строке.

sqlcmd -s [Сервер] [База данных] [Логин] [Пароль] spCreation.sql

это исключение для сервера уведомлений. Кто-нибудь может объяснить, как поведение выполнения sqlCmd и поведение анализатора запросов?

Далее следует сообщение об ошибке

Сообщение 7202, Уровень 11, Состояние 2, Сервер VIJAY-PC, Процедура usp_select_customers, Строка 4 Не удалось найти «анализ» сервера в sys.servers. Убедитесь, что указано правильное имя сервера. При необходимости выполните хранимую процедуру sp_addlinkedserv er, чтобы добавить сервер в sys.servers.

1 Ответ

0 голосов
/ 20 июля 2011

Выполнение запроса в SSMS дает ту же ошибку:

Сообщение 7202, Уровень 11, Состояние 2, Процедура usp_select_customers, Строка 4 Не удалось найти анализ сервера в sys.servers. Убедитесь, что было указано правильное имя сервера. При необходимости выполнить сохраненный Процедура sp_addlinkedserver для добавления сервера в sys.servers.

Так что проблема не в разнице между sqlcmd или SSMS, это должно быть что-то еще. Например, вы работаете с другой машиной или просто не запускаете ее в SSMS, а просто проверяете синтаксис.

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