SQL Server中内置了定时任务的功能,这样可以不依赖于其他应用实现定时任务处理。
创建定时job的前提:
- 服务器启动了SQL Server Agent服务。
- 用户具有所需的权限。
需要的权限,涉及命令的具体参数,可查询手册
这里演示创建定时任务的简单示例如下:
USE msdb ;
/*添加由 SQLServerAgent 服务执行的新作业*/
EXEC sp_add_job
@job_name = N’Job_Carl’,
@enabled = 1,
@description = N’仅仅用于Carl的测试’
;
/*在作业中添加一个步骤(操作)*/
EXEC sp_add_jobstep
@job_name = N’Job_Carl’,
@step_name = N’Jobstep_Carl’,
@command = N’exec mydb.dbo.update_index’
;
/*创建作业的一个计划*/
EXEC sp_add_jobschedule
@name = N’Schedule_Carl’ ,
@job_name = N’Job_Carl’,
@freq_type = 4,
@freq_interval = 1,
@active_start_time = 134810
;
/*指定作业运行的服务器*/
EXEC sp_add_jobserver
@job_name = N ‘Job_Carl’,
@server_name = N ‘(local)’
;
/*ps:也可以手动运行job进行测试*/
EXEC dbo.sp_start_job N’Job_Carl’ ;
对于多个jobstep的job,需要设置每步jobstep的属性@on_success_action=3,默认1是表示每一步执行完成即退出了,设为3则表示执行下一步。
The post SQL Server创建定时job appeared first on SQLParty.