sql³£ÓÃ×÷Òµ¶¨ÒåµÄT-SQLÄ£°å(Ò»)

2015-02-03 11:16:49 ¡¤ ×÷Õß: ¡¤ ä¯ÀÀ: 80
--¶¨Òå´´½¨×÷Òµ

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