sp_update_job (Transact-SQL)

ジョブの属性を変更します。

トピック リンク アイコンTransact-SQL 構文表記規則

構文

sp_update_job [ @job_id =] job_id | [@job_name =] 'job_name'
     [, [@new_name =] 'new_name' ] 
     [, [@enabled =] enabled ]
     [, [@description =] 'description' ] 
     [, [@start_step_id =] step_id ]
     [, [@category_name =] 'category' ] 
     [, [@owner_login_name =] 'login' ]
     [, [@notify_level_eventlog =] eventlog_level ]
     [, [@notify_level_email =] email_level ]
     [, [@notify_level_netsend =] netsend_level ]
     [, [@notify_level_page =] page_level ]
     [, [@notify_email_operator_name =] 'email_name' ]
          [, [@notify_netsend_operator_name =] 'netsend_operator' ]
          [, [@notify_page_operator_name =] 'page_operator' ]
     [, [@delete_level =] delete_level ] 
     [, [@automatic_post =] automatic_post ]

引数

  • [ @job_id = ] job_id
    更新するジョブの識別番号を指定します。job_idのデータ型は uniqueidentifier です。

  • [ @job_name =] 'job_name'
    ジョブの名前を指定します。job_nameのデータ型は nvarchar(128) です。

    注意

    job_id または job_name のいずれかを指定する必要があります。両方を指定することはできません。

  • [ @new_name =] 'new_name'
    ジョブの名前を指定します。new_nameのデータ型は nvarchar(128) です。

  • [ @enabled = ] enabled
    ジョブを有効 (1) にするか、無効 (0) にするかを指定します。enabled のデータ型は tinyint です。

  • [ @description =] 'description'
    ジョブの説明を指定します。descriptionのデータ型は nvarchar(512) です。

  • [ @start_step_id = ] step_id
    ジョブで実行する最初のステップの ID 番号を指定します。step_idのデータ型は int です。

  • [ @category_name = ] 'category'
    ジョブのカテゴリを指定します。categoryのデータ型は nvarchar(128) です。

  • [ @owner_login_name = ] 'login'
    ジョブの所有者のログイン名を指定します。loginのデータ型は nvarchar(128) です。ジョブの所有権を変更できるのは固定サーバー ロール sysadmin のメンバだけです。

  • [ @notify_level_eventlog = ] eventlog_level
    対象となるジョブのエントリをいつ Microsoft Windows アプリケーション ログに記録するかを指定します。eventlog_level のデータ型は int で、次のいずれかの値を指定できます。

    説明 (動作)

    0

    なし

    1

    成功時

    2

    失敗時

    3

    毎回

  • [ @notify_level_email = ] email_level
    ジョブの完了時にメールが送信されるタイミングを指定します。email_level のデータ型は int です。email_level は eventlog_level と同じ値を使用します。

  • [ @notify_level_netsend = ] netsend_level
    ジョブの完了時にネットワーク メッセージが送信されるタイミングを指定します。netsend_level のデータ型は int です。netsend_level は eventlog_level と同じ値を使用します。

  • [ @notify_level_page = ] page_level
    ジョブの完了時にポケットベルによる通知が送信されるタイミングを指定します。page_level のデータ型は int です。page_level は eventlog_level と同じ値を使用します。

  • [ @notify_email_operator_name = ] 'email_name'
    email_level に達したときに電子メールを送信するオペレータの電子メール名を指定します。email_name のデータ型は nvarchar(128) です。

  • [ @notify_netsend_operator_name = ] 'netsend_operator'
    ネットワーク メッセージの送信先のオペレータ名を指定します。netsend_operator のデータ型は nvarchar(128) です。

  • [ @notify_page_operator_name = ] 'page_operator'
    ポケットベルによる通知の送信先のオペレータ名を指定します。page_operator のデータ型は nvarchar(128) です。

  • [ @delete_level = ] delete_level
    ジョブが削除されるタイミングを指定します。delete_value のデータ型は int です。delete_level は eventlog_level と同じ値を使用します。

  • [ @automatic_post =] automatic_post
    予約済み。

戻り値

0 (成功) または 1 (失敗)

説明

sp_update_job は、msdb データベースから実行する必要があります。

sp_update_job は、パラメータ値が提供されている設定のみを変更します。パラメータを省略した場合は、現在の設定が保持されます。

権限

既定では、このストアド プロシージャを実行できるのは、sysadmin 固定サーバー ロールのメンバです。他のユーザーには、msdb データベースの次のいずれかの SQL Server エージェント固定データベース ロールが許可されている必要があります。

  • SQLAgentUserRole

  • SQLAgentReaderRole

  • SQLAgentOperatorRole

これらのロールの権限の詳細については、「SQL Server エージェントの固定データベース ロール」を参照してください。

このストアド プロシージャを使用して、他のユーザーが所有するジョブの属性を編集できるのは、sysadmin のメンバだけです。

次の例では、ジョブ NightlyBackups の名前、説明、有効な状態を変更します。

USE msdb ;
GO

EXEC dbo.sp_update_job
    @job_name = N'NightlyBackups',
    @new_name = N'NightlyBackups -- Disabled',
    @description = N'Nightly backups disabled during server migration.',
    @enabled = 0 ;
GO