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