sp_update_job (Transact-SQL)
適用対象: SQL Server Azure SQL Managed Instance
SQL Server エージェント サービスで作成された既存のジョブの属性を更新します。
構文
sp_update_job
[ [ @job_id = ] 'job_id' ]
[ , [ @job_name = ] N'job_name' ]
[ , [ @new_name = ] N'new_name' ]
[ , [ @enabled = ] enabled ]
[ , [ @description = ] N'description' ]
[ , [ @start_step_id = ] start_step_id ]
[ , [ @category_name = ] N'category_name' ]
[ , [ @owner_login_name = ] N'owner_login_name' ]
[ , [ @notify_level_eventlog = ] notify_level_eventlog ]
[ , [ @notify_level_email = ] notify_level_email ]
[ , [ @notify_level_netsend = ] notify_level_netsend ]
[ , [ @notify_level_page = ] notify_level_page ]
[ , [ @notify_email_operator_name = ] N'notify_email_operator_name' ]
[ , [ @notify_netsend_operator_name = ] N'notify_netsend_operator_name' ]
[ , [ @notify_page_operator_name = ] N'notify_page_operator_name' ]
[ , [ @delete_level = ] delete_level ]
[ , [ @automatic_post = ] automatic_post ]
[ ; ]
引数
[ @job_id = ] 'job_id'
更新するジョブの識別番号を指定します。 @job_id は uniqueidentifier で、既定値は NULL
です。
@job_idまたは@job_nameを指定する必要がありますが、両方を指定することはできません。
[ @job_name = ] N'job_name'
ジョブの名前。 @job_name は sysname で、既定値は NULL
です。
@job_idまたは@job_nameを指定する必要がありますが、両方を指定することはできません。
[ @new_name = ] N'new_name'
ジョブの新しい名前。 @new_name は sysname で、既定値は NULL
です。
[ @enabled = ] enabled
ジョブを有効 (1
) にするか、有効にしない (0
) かを指定します。 @enabled は tinyint で、既定値は NULL
です。
[ @description = ] N'description'
ジョブの説明。 @description は nvarchar(512) で、既定値は NULL
です。
[ @start_step_id = ] start_step_id
ジョブで実行する最初のステップの ID 番号を指定します。 @start_step_id は int で、既定値は NULL
です。
[ @category_name = ] N'category_name'
ジョブのカテゴリ。 @category_name は sysname で、既定値は NULL
です。
[ @owner_login_name = ] N'owner_login_name'
ジョブを所有するログインの名前。 @owner_login_name は sysname で、既定値は NULL
です。 ジョブの所有権を変更できるのは、 sysadmin 固定サーバー ロールのメンバーだけです。
[ @notify_level_eventlog = ] notify_level_eventlog
対象となるジョブのエントリをいつ Microsoft Windows アプリケーション ログに記録するかを指定します。 @notify_level_eventlog は int で、次のいずれかの値を指定できます。
値 | 説明 (アクション) |
---|---|
0 |
Never |
1 |
成功時 |
2 |
エラー時 |
3 |
常時 |
[ @notify_level_email = ] notify_level_email
ジョブの完了時にメールが送信されるタイミングを指定します。 @notify_level_email は int で、既定値は NULL
です。 @notify_level_email では、 @notify_level_eventlogと同じ値が使用されます。
[ @notify_level_netsend = ] notify_level_netsend
ジョブの完了時にネットワーク メッセージが送信されるタイミングを指定します。 @notify_level_netsend は int で、既定値は NULL
です。 @notify_level_netsend では、 @notify_level_eventlogと同じ値が使用されます。
[ @notify_level_page = ] notify_level_page
ジョブの完了時にポケットベルによる通知が送信されるタイミングを指定します。 @notify_level_page は int で、既定値は NULL
です。 @notify_level_page は、 @notify_level_eventlogと同じ値を使用します。
[ @notify_email_operator_name = ] N'notify_email_operator_name'
email_levelに達したときに電子メールを送信するオペレーターの名前。 @notify_email_operator_name は sysname で、既定値は NULL
です。
[ @notify_netsend_operator_name = ] N'notify_netsend_operator_name'
ネットワーク メッセージの送信先のオペレーター名を指定します。 @notify_netsend_operator_name は sysname で、既定値は NULL
です。
[ @notify_page_operator_name = ] N'notify_page_operator_name'
ページの送信先となるオペレーターの名前。 @notify_page_operator_name は sysname で、既定値は NULL
です。
[ @delete_level = ] delete_level
ジョブが削除されるタイミングを指定します。 @delete_level は int で、既定値は NULL
です。 @delete_level では、 @notify_level_eventlogと同じ値が使用されます。
[ @automatic_post = ] automatic_post
単に情報を示すためだけに特定されます。 サポートされていません。 将来の互換性は保証されません。
リターン コードの値
0
(成功) または 1
(失敗)。
解説
sp_update_job
は、 msdb
データベースから実行する必要があります。
sp_update_job
では、パラメーター値が指定されている設定のみが変更されます。 パラメーターを省略すると、現在の設定は保持されます。
このストアド プロシージャは、azure SQL Database 用の Azure Elastic Jobs サービスの同様のオブジェクトとsp_update_job
の名前を共有。 エラスティック ジョブのバージョンについては、「 jobs.sp_update_job (Azure エラスティック ジョブ)」を参照してください。
アクセス許可
この手順では EXECUTE
アクセス許可を付与できますが、これらのアクセス許可は SQL Server のアップグレード中にオーバーライドされる可能性があります。
他のユーザーには、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