分享方式:


sp_help_jobactivity (Transact-SQL)

適用於:SQL Server

列出 SQL Server Agent 作業運行時間狀態的相關信息。

Transact-SQL 語法慣例

語法

sp_help_jobactivity
    [ [ @job_id = ] 'job_id' ]
    [ , [ @job_name = ] N'job_name' ]
    [ , [ @session_id = ] session_id ]
[ ; ]

引數

[ @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,但無法指定兩者。

[ @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時,列出所有作業的資訊。

權限

此預存程式是由 db_owner 角色所擁有。 您可以授與 EXECUTE 任何用戶的許可權,但這些許可權可能會在 SQL Server 升級期間覆寫。

其他用戶必須在資料庫中獲得下列其中一個 SQL Server Agent 固定資料庫角色 msdb

  • SQLAgentUserRole
  • SQLAgentReaderRole
  • SQLAgentOperatorRole

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

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

範例

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

USE msdb;
GO

EXEC dbo.sp_help_jobactivity;
GO