共用方式為


sp_delete_jobsteplog (Transact-SQL)

移除引數所指定的所有 SQL Server Agent 作業步驟記錄。請利用這個預存程序來維護 msdb 資料庫中的 sysjobstepslogs 資料表。

主題連結圖示Transact-SQL 語法慣例

語法

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' ]

引數

  • [ @job_id =] 'job_id'
    包含將移除的作業步驟記錄之作業的作業識別碼。job_id 是 int,預設值是 NULL。

  • [ @job_name =] 'job_name'
    作業的名稱。job_name 是 sysname,預設值是 NULL。

    [!附註]

    您必須指定 job_id 或 job_name,但不能同時指定這兩者。

  • [ @step_id =] step_id
    這是作業中將刪除作業步驟記錄之步驟的識別碼。如果沒有包括這個項目,除非指定了 @older_than@larger_than,否則,會刪除作業中的所有作業步驟記錄。step_id 是 int,預設值是 NULL。

  • [ @step_name =] 'step_name'
    這是作業中將刪除作業步驟記錄之步驟的名稱。step_name 是 sysname,預設值是 NULL。

    [!附註]

    您可以指定 step_id 或 step_name 其中之一,但不能同時指定這兩者。

  • [ @older_than =] 'date'
    您要保留的最舊作業步驟記錄的日期和時間。在這個日期和時間之前的所有作業步驟記錄都會被移除。date 是 datetime,預設值是 NULL。您可以同時指定 @older_than@larger_than

  • [ @larger_than =] 'size_in_bytes'
    您要保留的最大作業步驟記錄的大小 (以位元組為單位)。所有超出這個大小的作業步驟記錄都會被移除。您可以同時指定 @larger_than@older_than

傳回碼值

0 (成功) 或 1 (失敗)

結果集

備註

sp_delete_jobsteplogmsdb 資料庫中。

如果未指定 @job_id@job_name 以外的任何引數,便會刪除所有作業步驟記錄。

權限

依預設,只有系統管理員 (sysadmin) 固定伺服器角色的成員,才能夠執行這個預存程序。其他使用者必須被授與 msdb 資料庫的下列其中一個 SQL Server Agent 固定資料庫角色。

  • SQLAgentUserRole

  • SQLAgentReaderRole

  • SQLAgentOperatorRole

如需有關這些角色權限的詳細資料,請參閱<SQL Server Agent 固定資料庫角色>。

只有系統管理員 (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. 根據存在時間和大小來移除所有作業步驟記錄

下列範例會從 Weekly Sales Data Backup 作業中,移除在 2005 年 10 月 25 日中午之前的所有作業步驟記錄,以及超出 100 MB 的作業步驟記錄。

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