某日发现SQLServer的代理竟然停了好多天,许多任务没有执行,估计是前些日子重启系统后代理没有自动启动。在界面上却没有找到这个自动启动的设置界面,只好上网搜了一下,终于找到了一个比较靠谱的做法。记下来备忘,也为了能方便其他遇到类似问题的朋友。
--查询 SqlServerAgent 服务的当前状态。
EXEC master.dbo.xp_servicecontrol N'QUERYSTATE',N'SQLSERVERAGENT'--启动 SqlServerAgent 服务。
EXEC master.dbo.xp_servicecontrol N'START',N'SQLSERVERAGENT'
--停止 SqlServerAgent 服务。
EXEC master.dbo.xp_servicecontrol N'STOP',N'SQLSERVERAGENT'
--设置 SqlServerAgent 服务为自动启动。
EXEC msdb.dbo.sp_set_sqlagent_properties @auto_start=1