检查SQL Server启动时的服务

时间:2010-05-24 16:02:42

标签: sql xp-cmdshell

我正在尝试检查SQL Server启动时的服务状态。我正在使用xp_cmdshell和'sc query SQLServerAgent |例如,查找“STATE”以将输出加载到全局临时表。它在SQL Server已经启动时有效,但是当proc通过sp_procoption设置为autoexec时不起作用。

2 个答案:

答案 0 :(得分:1)

可能这与它有关:“启动过程必须在master数据库中,并且不能包含INPUT或OUTPUT参数。存储过程的执行在启动时恢复master数据库时启动。” http://technet.microsoft.com/en-us/library/ms181720.aspx

答案 1 :(得分:0)

您可以尝试使用EXEC master.dbo.xp_servicecontrol 'QueryState', 'SQLSERVERAGENT'

我以前在SQL Server 2000上使用它,它仍然在2005年

当存储的proc运行时,SQL Agent可能没有运行,因为它是依赖的。或者tempdb没准备好。