Home > Database > Mysql Tutorial > SQL语句创建SQL Server 2000 下的作业调度

SQL语句创建SQL Server 2000 下的作业调度

WBOY
Release: 2016-06-07 17:22:55
Original
1118 people have browsed it

SQL语句创建SQL Server 2000 下的作业调度 --定义创建作业 DECLARE @jobid uniqueidentifier EXEC msdb.dbo.sp_add_job @job

SQL语句创建SQL Server 2000 下的作业调度

--定义创建作业
DECLARE @jobid uniqueidentifier
EXEC msdb.dbo.sp_add_job
    @job_name = N'作业名称',
    @job_id = @jobid OUTPUT
 
--定义作业步骤
DECLARE @sql nvarchar(400),@dbname sysname
SELECT @dbname=DB_NAME(),  --作业步骤在当前数据库中执行
    @sql=N'--作业步骤内容'  --一般定义的是使用TSQL处理的作业,这里定义要执行的Transact-SQL语句
EXEC msdb.dbo.sp_add_jobstep
    @job_id = @jobid,
    @step_name = N'作业步骤名称',
    @subsystem = 'TSQL', --步骤的类型,一般为TSQL
    @database_name=@dbname,
    @command = @sql
 
--创建调度(使用后面专门定义的几种作业调度模板)
EXEC msdb..sp_add_jobschedule
    @job_id = @jobid,
    @name = N'调度名称',
    @freq_type=4,                --每天
    @freq_interval=1,            --指定每多少天发生一次,这里是1天.
    @freq_subday_type=0x8,      --重复方式,0x1=在指定的时间,0x4=多少分钟,0x8=多少小时执行一次
    @freq_subday_interval=1,    --重复周期数,这里每小时执行一次
    @active_start_date = NULL,  --作业执行的开始日期,为NULL时表示当前日期,格式为YYYYMMDD
    @active_end_date = 99991231, --作业执行的停止日期,默认为99991231,格式为YYYYMMDD
    @active_start_time = 00000,  --作业执行的开始时间,格式为HHMMSS
    @active_end_time = 235959    --作业执行的停止时间,格式为HHMMSS
 
--添加目标服务器
DECLARE @servername sysname
SET @servername=CONVERT(nvarchar(128),SERVERPROPERTY(N'ServerName'))
EXEC msdb.dbo.sp_add_jobserver 
    @job_id = @jobid,
    @server_name = @servername --使用当前SQL实例
 
 
--调度模板定义
--/*--日调度
EXEC msdb..sp_add_jobschedule
    @job_id = @jobid,
    @name = N'调度名称',
    @freq_type=4,                --每天
    @freq_interval=1,            --指定每多少天发生一次,这里是1天.
    @freq_subday_type=0x8,      --重复方式,0x1=在指定的时间,0x4=多少分钟,0x8=多少小时执行一次
    @freq_subday_interval=1,    --重复周期数,这里每小时执行一次
    @active_start_date = NULL,  --作业执行的开始日期,为NULL时表示当前日期,格式为YYYYMMDD
    @active_end_date = 99991231, --作业执行的停止日期,默认为99991231,格式为YYYYMMDD
    @active_start_time = 00000,  --作业执行的开始时间,格式为HHMMSS
    @active_end_time = 235959    --作业执行的停止时间,格式为HHMMSS
--*/
 
--/*--周调度
EXEC msdb.dbo.sp_add_jobschedule
    @job_id = @jobid,
    @name = N'调度名称', 
    @freq_type = 8,              --每周
    @freq_recurrence_factor = 1, --每多少周执行一次,这里是每周
    @freq_interval = 62,        --在星期几执行,由POWER(2,N)表示,N的值为0~6,代表星期日~星期六,如果指定两个,则将值相加,例如,值为65表示在星期天和星期日执行(POWER(2,0)+POWER(2,6))
    @freq_subday_type = 0x8,    --重复方式,0x1=在指定的时间,0x4=多少分钟,0x8=多少小时执行一次
    @freq_subday_interval = 1,  --重复周期数,这里每小时执行一次
    @active_start_date = NULL,  --作业执行的开始日期,为NULL时表示当前日期,格式为YYYYMMDD
    @active_end_date = 99991231, --作业执行的停止日期,默认为99991231,格式为YYYYMMDD
    @active_start_time = 00000,  --作业执行的开始时间,格式为HHMMSS
    @active_end_time = 235959    --作业执行的停止时间,格式为HHMMSS
--*/
 
--/*--月调度(每X个月的每月几号)
EXEC msdb.dbo.sp_add_jobschedule
    @job_id = @jobid,
    @name = N'调度名称', 
    @freq_type = 16,            --每月
    @freq_recurrence_factor = 2, --每多少月执行一次,这里是每2个月
    @freq_interval = 2,          --在执行月的第几天执行,这里是第2天
    @freq_subday_type = 0x8,    --重复方式,0x1=在指定的时间,0x4=多少分钟,0x8=多少小时执行一次
    @freq_subday_interval = 1,  --重复周期数,这里每小时执行一次
    @active_start_date = NULL,  --作业执行的开始日期,为NULL时表示当前日期,格式为YYYYMMDD
    @active_end_date = 99991231, --作业执行的停止日期,默认为99991231,格式为YYYYMMDD
    @active_start_time = 00000,  --作业执行的开始时间,格式为HHMMSS
    @active_end_time = 235959    --作业执行的停止时间,格式为HHMMSS
--*/
 
--/*--月调度(每X个月的相对时间)
EXEC msdb.dbo.sp_add_jobschedule
    @job_id = @jobid,
    @name = N'调度名称', 
    @freq_type = 32,            --每月
    @freq_recurrence_factor = 2, --每多少月执行一次,这里是每2个月
    @freq_interval = 9,          --在当月的那个时间执行,1~7=星期日至星期六,8=日 ,9=工作日,10=周末
    @freq_relative_interval = 1, --在第几个相对时间执行,允许的值为1,2,4,8代表第1~4个相对时间,16表示最后一个相对时间
    @freq_subday_type = 0x8,    --重复方式,0x1=在指定的时间,0x4=多少分钟,0x8=多少小时执行一次
    @freq_subday_interval = 1,  --重复周期数,这里每小时执行一次
    @active_start_date = NULL,  --作业执行的开始日期,为NULL时表示当前日期,格式为YYYYMMDD
    @active_end_date = 99991231, --作业执行的停止日期,默认为99991231,格式为YYYYMMDD
    @active_start_time = 00000,  --作业执行的开始时间,格式为HHMMSS
    @active_end_time = 235959    --作业执行的停止时间,格式为HHMMSS
--*/
 
--/*--在特定时候执行的作业调度
EXEC msdb.dbo.sp_add_jobschedule
    @job_id = @jobid,
    @name = N'调度名称', 
    @freq_type = 64    --64=在SQLServerAgent 服务启动时运行,128=计算机空闲时运行
--*/
 
--/*--只执行一次的作业调度
EXEC msdb..sp_add_jobschedule
    @job_id = @jobid,
    @name = N'调度名称',
    @freq_type=1,                --仅执行一次
    @active_start_date = NULL,  --作业执行的开始日期,为NULL时表示当前日期,格式为YYYYMMDD
    @active_start_time = 00000  --作业执行的开始时间,格式为HHMMSS
--*/

linux

Related labels:
s
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template