sp_help_jobactivity (Transact-SQL)
列出 SQL Server Agent 作業之執行階段狀態的相關資訊。
語法
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 |
作業完成時,收到呼叫器通知的操作員識別碼。 |
備註
這個程序會提供作業目前狀態的快照集。傳回的結果代表處理要求時的資訊。
每當代理程式服務啟動時,SQL Server Agent 都會建立一個工作階段識別碼。工作階段識別碼儲存在 msdb.dbo.syssessions 資料表中。
當未提供 session_id 時,列出有關最近工作階段的資訊。
當未提供任何 job_name 或 job_id 時,列出所有作業的資訊。
權限
根據預設,只有系統管理員 (sysadmin) 固定伺服器角色的成員,才能夠執行這個預存程序。其他使用者必須被授與 msdb 資料庫的下列其中一個 SQL Server Agent 固定資料庫角色。
SQLAgentUserRole
SQLAgentReaderRole
SQLAgentOperatorRole
如需有關這些角色權限的詳細資料,請參閱<SQL Server Agent 固定資料庫角色>。
只有系統管理員 (sysadmin) 的成員,才能夠檢視其他使用者擁有的作業的活動。
範例
下列範例會列出目前使用者有權檢視的所有作業的活動。
USE msdb ;
GO
EXEC dbo.sp_help_jobactivity ;
GO