Sql Server 2005 維護計劃 調度修改

更改 SQL Server 2005代理計劃的設置。

File?id=dd7z8rzq_114dsk6q4cz_b語法


sp_update_schedule     { [ @schedule_id = ] schedule_id

      | [ @name = ] 'schedule_name' }

    [ , [ @new_name = ] new_name ]

    [ , [ @enabled = ] enabled ]

    [ , [ @freq_type = ] freq_type ]

    [ , [ @freq_interval = ] freq_interval ]

    [ , [ @freq_subday_type = ] freq_subday_type ]

    [ , [ @freq_subday_interval = ] freq_subday_interval ]

    [ , [ @freq_relative_interval = ] freq_relative_interval ]

    [ , [ @freq_recurrence_factor = ] freq_recurrence_factor ]

    [ , [ @active_start_date = ] active_start_date ]

    [ , [ @active_end_date = ] active_end_date ]

    [ , [ @active_start_time = ] active_start_time ]

    [ , [ @active_end_time = ] active_end_time ]

    [ , [ @owner_login_name = ] 'owner_login_name' ]

    [ , [ @automatic_post =] automatic_post ]

File?id=dd7z8rzq_114dsk6q4cz_b備註

所有使用該計劃的作業將立即使用新設置。但是,更改計劃不會停止當前正在運行的作業。

File?id=dd7z8rzq_114dsk6q4cz_b參數

[ @schedule_id = ] schedule_id

要修改的計劃的標識符。schedule_id 的數據類型爲 int,無默認值。必須指定 schedule_id schedule_name

[ @name = ] 'schedule_name'

要修改的計劃的名稱。schedule_name 的數據類型爲 sysname,無默認值。必須指定 schedule_id schedule_name

[ @new_name= ] new_name

計劃的新名稱。new_name 的數據類型爲 sysname,默認值爲 NULL。如果 new_name NULL,則不更改計劃名稱。

[ @enabled = ] enabled

指示計劃的當前狀態。enabled 的數據類型爲 tinyint,默認值爲 1(啓用)。如果爲 0,則不啓用計劃。如果不啓用計劃,則作業不會按此計劃運行。

[ @freq_type = ] freq_type

指示作業執行時間的值。freq_type 的數據類型爲 int,默認值爲 0,可以是下列值之一。

說明

1

一次

4

每天

8

每週

16

每月

32

每月,相對於 freq interval

64

SQLServerAgent 服務啓動時運行

128

計算機空閒時運行

[ @freq_interval = ] freq_interval

作業執行的天數。freq_interval 的數據類型爲 int,默認值爲 0,該值取決於 freq_type 的值。

freq_type 的值

freq_interval 的影響

1(一次)

freq_interval 未使用。

4(每天)

freq_interval 天。

8(每週)

freq_interval 是以下一個值或多個值(用邏輯運算符 OR 組合):

1 = 星期日

2 = 星期一

4 = 星期二

8 = 星期三

16 = 星期四

32 = 星期五

64 = 星期六

16(每月)

每月的 freq_interval 天。

32(與“每月”選項相關)

freq_interval 是下列值之一:

1 = 星期日

2 = 星期一

3 = 星期二

4 = 星期三

5 = 星期四

6 = 星期五

7 = 星期六

8 =

9 = 工作日

10 = 休息日

64SQLServerAgent 服務啓動時)

freq_interval 未使用。

128

freq_interval 未使用。

[ @freq_subday_type = ] freq_subday_type

指定 freq_subday_interval 的單位。freq_subday_type 的數據類型爲 int,默認值爲 0,可以是下列值之一。

說明(單位)

0x1

在指定的時間

0x2

0x4

分鐘

0x8

小時

[ @freq_subday_interval = ] freq_subday_interval

作業的每次執行之間間隔的 freq_subday_type 週期數。freq_subday_interval 的數據類型爲 int,默認值爲 0

[ @freq_relative_interval = ] freq_relative_interval

freq_interval 32(與“每月”選項相關)時,每月中作業的 freq_interval 的執行頻率。freq_relative_interval 的數據類型爲 int,默認值爲 0,可以是下列值之一。

說明(單位)

1

第一個

2

第二個

4

第三個

8

第四個

16

最後一個

[ @freq_recurrence_factor = ] freq_recurrence_factor

作業的兩次計劃執行之間的間隔週數或月數。只有 freq_type 816 32 時,纔會使用freq_recurrence_factorfreq_recurrence_factor 的數據類型爲 int,默認值爲 0

[ @active_start_date = ] active_start_date

可以開始執行作業的日期。active_start_date 的數據類型爲 int,默認值爲 NULL,指示當天的日期。日期格式爲 YYYYMMDD。如果 active_start_date 不爲 NULL,則日期必須大於或等於 19900101

[ @active_end_date = ] active_end_date

停止執行作業的日期。active_end_date 的數據類型爲 int,默認值爲 99991231,指示 9999 12 31 日。格式爲 YYYYMMDD

[ @active_start_time = ] active_start_time

active_start_date active_end_date 之間的任何一天開始執行作業的時間。active_start_time 的數據類型爲 int,默認值爲 000000,指示 24 小時制的上午 12:00:00,並且必須使用 HHMMSS 格式輸入。

[ @active_end_time = ] active_end_time

active_start_date active_end_date 之間任何一天停止執行作業的時間。active_end_time 的數據類型爲 int,默認值爲 235959,指示 24 小時制的晚上 11:59:59,必須使用 HHMMSS 的格式輸入。

[ @owner_login_name= ] 'owner_login_name']

擁有該計劃的服務器主體的名稱。owner_login_name 的數據類型爲 sysname,默認值爲 NULL,指示計劃由創建者擁有。

[ @automatic_post =] automatic_post

保留。

File?id=dd7z8rzq_114dsk6q4cz_b涉及到的表



--維護計劃涉及到的表,都屬於系統數據庫msdb

--維護計劃列表

select * from dbo.sysjobs

--維護計劃調度列表

select * from dbo.sysjobschedules

--維護計劃調度設置

select * from dbo.sysschedules


--一個維護計劃可能會多次修改調度,調度id值最大的是當前的調度設置

select max(b.schedule_id) from sysjobs a inner join sysjobschedules b

on a.job_id=b.job_id where a.name='維護計劃名稱'


File?id=dd7z8rzq_114dsk6q4cz_b舉例


--12天的 20:39:00 執行。將從 2008-9-23 開始使用計劃。

exec sp_update_schedule 4,null,null,1,4,12,1,2,0,0,20080923,99991231,203900,235959


File?id=dd7z8rzq_115qzzspqfv_b


--3 周在星期六 的 20:39:00 執行。將從 2008-9-23 開始使用計劃。

exec sp_update_schedule 4,null,null,1,8,64,1,2,0,3,20080923,99991231,203900,235959


--3 周在星期六, 星期日的 20:39:00 執行。將從 2008-9-23 開始使用計劃。

Exec sp_update_schedule 4,null,null,1,8,65,1,2,0,3,20080923,99991231,203900,235959


--7 個月於最後一個 星期日 的 0:00:00 執行。將從 2008-9-22 開始使用計劃。

exec sp_update_schedule 4,null,null,1,32,1,1,2,16,7,20080922,99991231,0,235959


File?id=dd7z8rzq_116gdx6gbg5_b


--7 個月的最後一個星期日 在 0:00:00 23:59:59 之間、每 3 小時執行。將從 2008-9-22 開始使用計劃。

exec sp_update_schedule 4,null,null,1,32,1,8,3,16,7,20080922,99991231,0,235959


File?id=dd7z8rzq_117dsp2qvhn_b



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章