sp_help_jobactivity (Transact-SQL)
適用於:SQL Server
列出 SQL Server Agent 作業運行時間狀態的相關信息。
語法
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