use master GO /* --開啟sql server代理 sp_configure 'show advanced options', 1; GO RECONFIGURE; GO sp_configure 'Agent XPs', 1; GO RECONFIGURE GO */ --定義創建作業 DECLARE @jobid uniqueidentifier, @jobname sysname SET @jobname = N'testInterval' IF EXISTS(SELECT * FROM msdb.dbo.sysjobs WHERE name=@jobname) EXEC msdb.dbo.sp_delete_job @job_name=@jobname EXEC msdb.dbo.sp_add_job @job_name = @jobname, @job_id = @jobid OUTPUT --定義作業步驟 DECLARE @sql nvarchar(4000),@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=8, --執行的頻率 周 @freq_interval=4, --在星期二執行 @freq_subday_type=0x8, --重復方式,0x1=在指定的時間,0x4=多少分鍾,0x8=多少小時執行一次。0x1和@active_start_time一起使用,@active_start_time指定開始執行的時間,代表在@freq_type指定的頻率間隔內只執行一次 --若是0x4或0x8,只要指定@freq_subday_interval, @freq_subday_interval代表每多少分鍾(當@freq_subday_type=0x4)或小時(當@freq_subday_type=0x8)執行的次數 @freq_subday_interval=2, --重復周期數,這里每小時執行一次 @active_start_date = NULL, --作業執行的開始日期,為NULL時表示當前日期,格式為YYYYMMDD @active_end_date = 99991231, --作業執行的停止日期,默認為99991231,格式為YYYYMMDD @active_start_time = 020000, --作業執行的開始時間,格式為HHMMSS @active_end_time = 030000, --作業執行的停止時間,格式為HHMMSS @freq_recurrence_factor = 2 --執行間隔 兩周 --參考 --http://www.cnblogs.com/lijun198504/articles/1352558.html --http://msdn.microsoft.com/zh-cn/library/ms366342.aspx -- 添加目標服務器 EXEC msdb.dbo.sp_add_jobserver @job_id = @jobid, @server_name = N'(local)'