1、使用sp_add_job 添加由 sqlserveragent 服务执行的新作业。
2、使用sp_add_jobschedule创建作业调度。
3、使用sp_add_jobstep将一个步骤(操作)添加到作业中
下面以在汽车客运站票务系统中的脚本为例给出实际例子,在看例子之前,请先看一下上面三个系统存储过程的帮助。在例子中使用了一个自定义的存储过程“tksp_bakdata”,它的功能是处理当日之前售票数据(只需知道是一个自定义存储过程就行了)。
例子1:每日0点30分处理售票数据
www.knowsky.com
use msdb
exec sp_add_job @job_name = tk_bakdata,
@enabled = 1,
@description = 每日00:30处理售票数据,
@start_step_id = 1,
@owner_login_name = tkuser
exec sp_add_jobserver @job_name = tk_bakdata
go
exec sp_add_jobschedule @job_name = tk_bakdata,
@name = bakdata003000,
@freq_type = 4,
@freq_interval = 1,
@active_start_time = 003000
go
exec sp_add_jobstep @job_name = tk_bakdata,
@step_name = bakdata,
@subsystem = tsql,
@command = exec tksp_bakdata ,
@database_name=ticket
go
例子2:每日sqlserver启动时处理售票数据,这样在每天需要关机的服务器中也能保证处理售票数据。
use msdb
exec sp_add_job @job_name = tk_bakdata2,
@enabled = 1,
@description = 每日sqlserver启动时处理售票数据,
@start_step_id = 1,
@owner_login_name = tkuser
exec sp_add_jobserver @job_name = tk_bakdata2
go
exec sp_add_jobschedule @job_name = tk_bakdata2,
@name = bakdatastart,
@freq_type = 64
go
exec sp_add_jobstep @job_name = tk_bakdata2,
@step_name = bakdatastart,
@subsystem = tsql,
@command = exec tksp_bakdata ,
@database_name=ticket
go
新闻热点
疑难解答