sp_help_jobactivity (Transact-SQL)

適用於:SQL Server

列出 SQL Server Agent 作業執行時間狀態的相關資訊。

Transact-SQL 語法慣例

語法

  
sp_help_jobactivity { [ @job_id = ] job_id | [ @job_name = ] 'job_name' }  
     [ , [ @session_id = ] session_id ]  

引數

[ @job_id = ] job_id 作業識別碼。 job_id uniqueidentifier ,預設值為 Null。

[ @job_name = ] 'job_name' 作業的名稱。 job_name為 sysname ,預設值為 Null。

注意

必須指定job_id job_name ,但無法指定兩者。

[ @session_id = ] session_id 要報告相關資訊的會話識別碼。 session_id為 int ,預設值為 Null。

傳回碼值

0 (成功) 或 1 (失敗)

結果集

傳回下列結果集:

資料行名稱 資料類型 描述
session_id int 代理程式會話識別碼。
job_id uniqueidentifier 作業的識別碼。
job_name sysname 作業的名稱。
run_requested_date datetime 當要求執行作業時。
run_requested_source sysname 執行作業的要求來源。 其中一個:

1 = 依排程執行

2 = 執行以回應警示

3 = 啟動時執行

4 = 由使用者執行

6 = 在 CPU 閒置排程上執行
queued_date datetime 當要求排入佇列時。 如果作業直接執行,則為 Null。
start_execution_date datetime 將作業指派給可執行執行緒時。
last_executed_step_id int 最近執行作業步驟的步驟識別碼。
last_exectued_step_date datetime 最近執行作業步驟開始執行的時間。
stop_execution_date datetime 作業停止執行的時間。
next_scheduled_run_date datetime 當作業下一次排程執行時。
job_history_id int 作業記錄資料表中作業記錄的識別碼。
message nvarchar(1024) 在作業最後一次執行期間產生的訊息。
run_status int 從作業最後一次執行傳回的狀態:

0 = 錯誤失敗

1 = 成功

3 = 已取消

5 = 狀態不明
operator_id_emailed int 作業完成時透過電子郵件通知的操作員識別碼。
operator_id_netsent int 作業完成時,透過 net send 通知的操作員識別碼。
operator_id_paged int 作業完成時,透過呼叫器通知的操作員識別碼。

備註

此程式提供作業目前狀態的快照集。 傳回的結果代表處理要求時的資訊。

每次 Agent 服務啟動時,SQL Server Agent 都會建立會話識別碼。 會話識別碼會儲存在 msdb.dbo.syssessions 資料表 中。

如果未 提供任何session_id ,請列出最新會話的相關資訊。

如果未提供任何job_name job_id ,請列出所有作業的資訊。

權限

根據預設,系統管理員 固定伺服器角色的成員 可以執行這個預存程式。 其他使用者必須獲授與 msdb 資料庫的下列其中一個 SQL Server Agent 固定資料庫角色:

  • SQLAgentUserRole

  • SQLAgentReaderRole

  • SQLAgentOperatorRole

如需這些角色權限的詳細資訊,請參閱 SQL Server Agent 固定資料庫角色

只有系統管理員 的成員 可以檢視其他使用者擁有之作業的活動。

範例

下列範例會列出目前使用者有權檢視之所有作業的活動。

USE msdb ;  
GO  
  
EXEC dbo.sp_help_jobactivity ;  
GO  

另請參閱

SQL Server Agent 預存程式 (Transact-SQL)