SQL Server:以编程方式执行维护计划

Chr*_*ris 7 sql-server service maintenance-plan

有没有办法以编程方式执行(启动)SQL Server维护计划?我们有一个夜间运行的Windows服务,并使用大量数据更新数据库,一旦完成,我们希望在数据库中触发维护计划以开始运行.

a1e*_*x07 8

您可以通过sp_start_job启动作为维护计划一部分的工作:

use msdb; 
go
exec dbo.sp_start_job N'job_name' ;
go
Run Code Online (Sandbox Code Playgroud)


DSh*_*ook 6

如果您收到错误"无法找到存储过程'dbo.sp_start_job'." 试试这个:

execute msdb.dbo.sp_maintplan_start @plan_id = N'549EDF1B-5712-472E-9722-DD81F622A3C2'
Run Code Online (Sandbox Code Playgroud)

你从这个查询得到了guid:

SELECT s.id AS [ID]    
FROM msdb.dbo.sysmaintplan_plans AS s    
WHERE s.name=N'MyMaintenancePlan'
Run Code Online (Sandbox Code Playgroud)