sp_delete_jobsteplog (Transact-SQL)
適用対象: SQL ServerAzure SQL Managed Instance
引数で指定SQL Server エージェントジョブ ステップ ログをすべて削除します。 このストアド プロシージャを使用して、データベースに sysjobstepslogs テーブルmsdb
をメインします。
構文
sp_delete_jobsteplog
[ [ @job_id = ] 'job_id' ]
[ , [ @job_name = ] N'job_name' ]
[ , [ @step_id = ] step_id ]
[ , [ @step_name = ] N'step_name' ]
[ , [ @older_than = ] older_than ]
[ , [ @larger_than = ] larger_than ]
[ ; ]
引数
[ @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を指定する必要がありますが、両方を指定することはできません。
[ @step_id = ] step_id
ジョブ ステップ ログを削除するジョブ内のステップの識別番号。 @step_idは int で、既定値は NULL
. 含まれていない場合、@older_thanまたは@larger_thanが指定されていない限り、ジョブ内のすべてのジョブ ステップ ログが削除されます。
@step_idまたは@step_nameを指定できますが、両方を指定することはできません。
[ @step_name = ] N'step_name'
ジョブ ステップ ログを削除するジョブ内のステップの名前。 @step_nameは sysname で、既定値は NULL
.
@step_idまたは@step_nameを指定できますが、両方を指定することはできません。
[ @older_than = ] older_than
保持する最も古いジョブ ステップ ログの日付と時刻。 @older_thanは datetime で、既定値は NULL
. この日時より前のジョブ ステップ ログはすべて削除されます。
@older_thanと@larger_thanの両方を指定できます。
[ @larger_than = ] larger_than
保持する最大ジョブ ステップ ログのサイズ (バイト単位)。 @larger_thanは int で、既定値は NULL
. このサイズより大きいすべてのジョブ ステップ ログは、削除されます。
@older_thanと@larger_thanの両方を指定できます。
リターン コードの値
0
(成功) または 1
(失敗)。
結果セット
ありません。
解説
sp_delete_jobsteplog
はデータベース内にあります msdb
。
@job_idまたは@job_name以外の引数が指定されていない場合は、指定したジョブのすべてのジョブ ステップ ログが削除されます。
アクセス許可
このストアド プロシージャは、db_owner ロールによって所有されています。 任意のユーザーにアクセス許可を付与 EXECUTE
できますが、SQL Server のアップグレード中にこれらのアクセス許可がオーバーライドされる可能性があります。
他のユーザーには、データベース内の固定データベース ロールSQL Server エージェント次のいずれかを付与するmsdb
必要があります。
- SQLAgentUserRole
- SQLAgentReaderRole
- SQLAgentOperatorRole
これらのロールの権限の詳細については、「 SQL Server エージェントの固定データベース ロール」を参照してください。
sysadmin のメンバーのみが、別のユーザーが所有するジョブ ステップ ログを削除できます。
例
A. ジョブからすべてのジョブ ステップ ログを削除する
次の例では、ジョブのすべてのジョブ ステップ ログを削除します Weekly Sales Data Backup
。
USE msdb;
GO
EXEC dbo.sp_delete_jobsteplog
@job_name = N'Weekly Sales Data Backup';
GO
B. 特定のジョブ ステップのジョブ ステップ ログを削除する
次の例では、ジョブ Weekly Sales Data Backup
のステップ 2 に対するジョブ ステップ ログを削除します。
USE msdb;
GO
EXEC dbo.sp_delete_jobsteplog
@job_name = N'Weekly Sales Data Backup',
@step_id = 2;
GO
C: 年齢とサイズに基づいてすべてのジョブ ステップ ログを削除する
次の例では、2005 年 10 月 25 日の正午より古く、100 メガバイト (MB (メガバイト)) を超えるジョブ ステップ ログをすべてジョブWeekly Sales Data Backup
から削除します。
USE msdb;
GO
EXEC dbo.sp_delete_jobsteplog
@job_name = N'Weekly Sales Data Backup',
@older_than = '10/25/2005 12:00:00',
@larger_than = 104857600;
GO
関連するコンテンツ
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示