2013-08-19 132 views
4

我有一組SQL服務器作業,我希望他們的計劃是動態的,即我希望下一個運行日期來自表格。SQL服務器作業動態計劃

我試過更新next_run_datesysjobschedules表和next_scheduled_run_datesysjobactivity表,但這並沒有做任何事情。

我該怎麼辦?

回答

3

我想你可以用 - sp_update_schedule來更新時間表。

 
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 ] 
+0

我看着這個sp,但它沒有下一個運行日期。如果我使用它,就像每次創建一個新的日程安排,即更改活動的開始日期? – evoandy

+0

更新'sysjobschedules'中的'next_run_date'不會解決問題。 「sysjobschedules」表每20分鐘刷新一次。它取決於各種其他字段 - 「freq_interval,freq_subday_type,freq_subday_interval,freq_relative_interval,freq_recurrence_factor,active_start_date,active_start_time」。所以,你必須引用這些字段來改變下一次運行日期。 – AgentSQL

+0

訪問[this](http://sqlmag.com/t-sql/plugging-gaps-sql-server-job-tracking)網站了解更多信息。 – AgentSQL