sp_delete_jobsteplog (Transact-sql)sp_delete_jobsteplog (Transact-SQL)

適用対象: yesSQL Server noAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse APPLIES TO: yesSQL Server noAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

引数で指定したすべての SQL ServerSQL Server エージェント ジョブ ステップ ログを削除します。Removes all SQL ServerSQL Server Agent job step logs that are specified with the arguments. このストアドプロシージャを使用して、 msdbデータベースのsysjobstepslogsテーブルを保持します。Use this stored procedure to maintain the sysjobstepslogs table in the msdb database.

トピック リンク アイコン Transact-SQL 構文表記規則Topic link icon Transact-SQL Syntax Conventions

構文Syntax

  
sp_delete_jobsteplog { [ @job_id = ] 'job_id' | [ @job_name = ] 'job_name' }  
       [ , [ @step_id = ] step_id | [ @step_name = ] 'step_name' ]  
       [ , [ @older_than = ] 'date' ]  
       [ , [ @larger_than = ] 'size_in_bytes' ]  

引数Arguments

削除するジョブステップのログを含むジョブのジョブ識別番号を [ @job_id = ] 'job_id' します。[ @job_id = ] 'job_id' The job identification number for the job that contains the job step log to be removed. job_idint,、既定値は NULL です。job_id is int, with a default of NULL.

ジョブの名前 [ @job_name = ] 'job_name' ます。[ @job_name = ] 'job_name' The name of the job. job_namesysname,、既定値は NULL です。job_name is sysname, with a default of NULL.

注: Job_idまたはjob_nameのいずれかを指定する必要がありますが、両方を指定することはできません。NOTE: Either job_id or job_name must be specified, but both cannot be specified.

ジョブステップログを削除するジョブのステップの識別番号を [ @step_id = ] step_id します。[ @step_id = ] step_id The identification number of the step in the job for which the job step log is to be deleted. 含まれていない場合は、 @older_thanまたは @larger_thanが指定されていない限り、ジョブ内のすべてのジョブステップのログが削除されます。If not included, all job step logs in the job are deleted unless @older_than or @larger_than are specified. step_idint,、既定値は NULL です。step_id is int, with a default of NULL.

ジョブステップログを削除するジョブのステップの名前を [ @step_name = ] 'step_name' します。[ @step_name = ] 'step_name' The name of the step in the job for which the job step log is to be deleted. step_namesysname,、既定値は NULL です。step_name is sysname, with a default of NULL.

注: Step_idまたはstep_nameのいずれかを指定できますが、両方を指定することはできません。NOTE: Either step_id or step_name can be specified, but both cannot be specified.

保持する最も古いジョブステップログの日付と時刻を [ @older_than = ] 'date' します。[ @older_than = ] 'date' The date and time of the oldest job step log you want to keep. この日時より前のジョブ ステップ ログはすべて削除されます。All job step logs that are older than this date and time are removed. 日付datetime,、既定値は NULL です。date is datetime, with a default of NULL. @older_than@larger_thanの両方を指定できます。Both @older_than and @larger_than can be specified.

保持する最大のジョブステップログのサイズ (バイト単位) を [ @larger_than = ] 'size_in_bytes' します。[ @larger_than = ] 'size_in_bytes' The size in bytes of the largest job step log you want to keep. このサイズより大きいすべてのジョブ ステップ ログは、削除されます。All job step logs that are larger that this size are removed. @larger_than@older_thanの両方を指定できます。Both @larger_than and @older_than can be specified.

リターン コードの値Return Code Values

0 (成功) または1 (失敗)0 (success) or 1 (failure)

結果セットResult Sets

[InclusionThresholdSetting]None

RemarksRemarks

sp_delete_jobsteplogmsdbデータベースにあります。sp_delete_jobsteplog is in the msdb database.

@job_idまたは @job_name以外の引数が指定されていない場合は、指定されたジョブのすべてのジョブステップログが削除されます。If no arguments except @job_id or @job_name are specified, all job step logs for the specified job are deleted.

アクセス許可Permissions

既定では、このストアド プロシージャを実行できるのは、 sysadmin 固定サーバー ロールのメンバーです。By default, members of the sysadmin fixed server role can execute this stored procedure. 他のユーザーには、 SQL ServerSQL Server msdb データベースの次のいずれかの エージェント固定データベース ロールが許可されている必要があります。Other users must be granted one of the following SQL ServerSQL Server Agent fixed database roles in the msdb database:

  • SQLAgentUserRoleSQLAgentUserRole

  • SQLAgentReaderRoleSQLAgentReaderRole

  • SQLAgentOperatorRoleSQLAgentOperatorRole

これらのロールの権限の詳細については、「SQL Server エージェントの固定データベース ロール」を参照してください。For details about the permissions of these roles, see SQL Server Agent Fixed Database Roles.

別のユーザーが所有するジョブステップログを削除できるのは、 sysadminのメンバーだけです。Only members of sysadmin can delete a job step log that is owned by another user.

使用例Examples

A.A. ジョブからすべてのジョブステップログを削除するRemoving all job step logs from a job

次の例では、ジョブ Weekly Sales Data Backupのすべてのジョブステップログを削除します。The following example removes all job step logs for the job Weekly Sales Data Backup.

USE msdb ;  
GO  
  
EXEC dbo.sp_delete_jobsteplog  
    @job_name = N'Weekly Sales Data Backup';  
GO  

b.B. 特定のジョブステップのジョブステップログを削除するRemoving the job step log for a particular job step

次の例では、ジョブ Weekly Sales Data Backup のステップ 2 に対するジョブ ステップ ログを削除します。The following example removes the job step log for step 2 in the job Weekly Sales Data Backup.

USE msdb ;  
GO  
  
EXEC dbo.sp_delete_jobsteplog  
    @job_name = N'Weekly Sales Data Backup',  
    @step_id = 2;  
GO  

C.C. 有効期間とサイズに基づいてすべてのジョブステップログを削除するRemoving all job step logs based on age and size

次の例では、ジョブ Weekly Sales Data Backupから、2005年10月25日から 100 mb を超えるすべてのジョブステップログを削除します。The following example removes all job steps logs that are older than noon October 25, 2005 and larger than 100 megabytes (MB) from the job 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  

参照See Also

transact-sql ( の) sp_help_jobsteplogsp_help_jobsteplog (Transact-SQL)
ストアドプロシージャ(の SQL Server エージェント transact-sql)SQL Server Agent Stored Procedures (Transact-SQL)