sp_delete_job (Transact-SQL)
適用対象: SQL ServerAzure SQL Managed Instance
SQL Server エージェント サービスからジョブを削除します。
構文
sp_delete_job
[ [ @job_id = ] 'job_id' ]
[ , [ @job_name = ] N'job_name' ]
[ , [ @originating_server = ] N'originating_server' ]
[ , [ @delete_history = ] delete_history ]
[ , [ @delete_unused_schedule = ] delete_unused_schedule ]
[ ; ]
引数
[ @job_id = ] 'job_id'
削除するジョブの ID 番号。 @job_idは uniqueidentifier で、既定値は NULL
.
@job_idまたは@job_nameを指定する必要があります。両方を指定することはできません。
[ @job_name = ] N'job_name'
削除するジョブの名前。 @job_nameは sysname で、既定値は NULL
.
@job_idまたは@job_nameを指定する必要があります。両方を指定することはできません。
[ @originating_server = ] N'originating_server'
単に情報を示すためだけに特定されます。 サポートされていません。 将来の互換性は保証されません。
[ @delete_history = ] delete_history
ジョブの履歴を削除するかどうかを指定します。 @delete_historyはビットで、既定値は 1
.
- @delete_historyすると
1
、ジョブのジョブ履歴が削除されます。 - @delete_historyの
0
場合、ジョブ履歴は削除されません。
ジョブが削除され、履歴が削除されない場合、ジョブの履歴情報はSQL Server エージェントグラフィカル ユーザー インターフェイスジョブ履歴には表示されませんが、情報はデータベース内msdb
のsysjobhistory
テーブルに残ります。
[ @delete_unused_schedule = ] delete_unused_schedule
他のジョブにアタッチされていない場合に、このジョブにアタッチされているスケジュールを削除するかどうかを指定します。 @delete_unused_scheduleはビットで、既定値は 1
.
- @delete_unused_scheduleの場合、
1
他のジョブがスケジュールを参照していない場合、このジョブにアタッチされているスケジュールは削除されます。 - @delete_unused_scheduleの
0
場合、スケジュールは削除されません。
リターン コードの値
0
(成功) または 1
(失敗)。
結果セット
ありません。
解説
@originating_server引数は内部使用のために予約されています。
@delete_unused_schedule引数は、ジョブにアタッチされていないスケジュールを自動的に削除することで、以前のバージョンの SQL Server との下位互換性を提供します。 このパラメーターの既定値は、下位互換性のある動作です。 ジョブにアタッチされていないスケジュールを保持するには、@delete_unused_schedule引数として値0
を指定する必要があります。
SQL Server Management Studio は、簡単かつ直観的な方法でジョブを管理するためのツールで、ジョブ体系の作成および管理に最適です。
このストアド プロシージャは、メインテナント プランを削除することも、メインテナント プランの一部であるジョブを削除することもできません。 代わりに、SQL Server Management Studio を使用して、メインテナント プランを削除します。
このストアド プロシージャは、Azure SQL Database の sp_delete_job
Azure Elastic Jobs サービスの同様の オブジェクトと名前を共有します。 エラスティック ジョブのバージョンについては、「jobs.sp_delete_job (Azure エラスティック ジョブ) (Transact-SQL)」を参照してください。
アクセス許可
このストアド プロシージャは、db_owner ロールによって所有されています。 任意のユーザーにアクセス許可を付与 EXECUTE
できますが、SQL Server のアップグレード中にこれらのアクセス許可がオーバーライドされる可能性があります。
他のユーザーには、データベース内の固定データベース ロールSQL Server エージェント次のいずれかを付与するmsdb
必要があります。
- SQLAgentUserRole
- SQLAgentReaderRole
- SQLAgentOperatorRole
これらのロールの権限の詳細については、「 SQL Server エージェントの固定データベース ロール」を参照してください。
sysadmin 固定サーバー ロールのメンバーは、ジョブを削除するために実行sp_delete_job
できます。 sysadmin 固定サーバー ロールのメンバーではないユーザーは、そのユーザーが所有するジョブのみを削除できます。
例
次の例では、ジョブ NightlyBackups
を削除します。
USE msdb;
GO
EXEC sp_delete_job
@job_name = N'NightlyBackups';
GO
関連するコンテンツ
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示