sp_delete_jobsteplog (Transact-SQL)
適用於:SQL Server Azure SQL 受控執行個體
拿掉以 自變數指定的所有 SQL Server Agent 作業步驟記錄。 使用此預存程式來維護資料庫中的 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以外的自變數,則會刪除指定作業的所有作業步驟記錄。
權限
您可以授與此 EXECUTE
程序的許可權,但這些許可權可能會在 SQL Server 升級期間覆寫。
其他用戶必須在資料庫中獲得下列其中一個 SQL Server Agent 固定資料庫角色 msdb
:
- SQLAgentUserRole
- SQLAgentReaderRole
- SQLAgentOperatorRole
如需這些角色權限的詳細資訊,請參閱 SQL Server Agent 固定資料庫角色。
只有系統管理員的成員可以刪除其他用戶所擁有的作業步驟記錄。
範例
A. 從作業中移除所有作業步驟記錄
下列範例會移除作業 的所有作業 Weekly Sales Data Backup
步驟記錄。
USE msdb;
GO
EXEC dbo.sp_delete_jobsteplog
@job_name = N'Weekly Sales Data Backup';
GO
B. 拿掉特定作業步驟的作業步驟記錄
下列範例會移除作業中步驟 2 的作業 Weekly Sales Data Backup
步驟記錄。
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