Проверка сервисов при запуске SQL Server - PullRequest
1 голос
/ 24 мая 2010

Я пытаюсь проверить состояние служб при запуске SQL Server. Я использую xp_cmdshell и sc запрос SQLServerAgent | НАЙДИТЕ «СОСТОЯНИЕ», например, чтобы загрузить вывод в глобальную временную таблицу. Он работает, когда SQL Server уже запущен, но не работает, когда для proc задано значение autoexec, через sp_procoption.

Ответы [ 2 ]

1 голос
/ 24 мая 2010

Возможно, это как-то связано с этим: «Процедуры запуска должны находиться в базе данных master и не могут содержать параметры INPUT или OUTPUT. Выполнение хранимых процедур начинается, когда база данных master восстанавливается при запуске».http://technet.microsoft.com/en-us/library/ms181720.aspx

0 голосов
/ 24 мая 2010

Вы можете попробовать EXEC master.dbo.xp_servicecontrol 'QueryState', 'SQLSERVERAGENT' вместо

Я использовал это обратно на SQL Server 2000, и он все еще там в 2005

Существует вероятность того, что агент SQL не будет запущен во время выполнения хранимого процесса, поскольку он зависим. Или tempdb не готов.

...