有没有办法以编程方式执行(启动)SQL Server维护计划?我们有一个每晚运行的Windows服务,并使用大量数据更新数据库,一旦完成,我们希望在数据库中触发维护计划以开始运行。
答案 0 :(得分:8)
您可以sp_start_job开始一项属于维护计划的工作:
use msdb;
go
exec dbo.sp_start_job N'job_name' ;
go
答案 1 :(得分:6)
如果收到错误“无法找到存储过程'dbo.sp_start_job'。”试试这个:
execute msdb.dbo.sp_maintplan_start @plan_id = N'549EDF1B-5712-472E-9722-DD81F622A3C2'
你从这个查询得到了guid:
SELECT s.id AS [ID]
FROM msdb.dbo.sysmaintplan_plans AS s
WHERE s.name=N'MyMaintenancePlan'