返回有關(guān) SQLServerAgent 服務(wù)用來在 Microsoft® SQL Server™ 中執(zhí)行自動(dòng)活動(dòng)的那些作業(yè)的信息。
sp_help_job [ [ @job_id = ] job_id ]
[ , [ @job_name = ] 'job_name' ]
[ , [ @job_aspect = ] 'job_aspect' ]
[ , [ @job_type = ] 'job_type' ]
[ , [ @owner_login_name = ] 'login_name' ]
[ , [ @subsystem = ] 'subsystem' ]
[ , [ @category_name = ] 'category' ]
[ , [ @enabled = ] enabled ]
[ , [ @execution_status = ] status ]
[ , [ @date_comparator = ] 'date_comparison' ]
[ , [ @date_created = ] date_created ]
[ , [ @date_last_modified = ] date_modified ]
[ , [ @description = ] 'description_pattern' ]
[@job_id =] job_id
是作業(yè)標(biāo)識(shí)號(hào)。job_id 的數(shù)據(jù)類型為 uniqueidentifier,默認(rèn)值為 NULL。
[@job_name =] 'job_name'
是作業(yè)的名稱。job_name 為 sysname 類型,其默認(rèn)值為 NULL。
說明 必須指定 job_id 或 job_name,但不能兩個(gè)都指定。
[@job_aspect =] 'job_aspect'
是要顯示的作業(yè)特性。job_aspect 的數(shù)據(jù)類型為 varchar(9),默認(rèn)值為 NULL,并且可以是下列值之一。
值 | 描述 |
---|---|
ALL | 作業(yè)特征信息 |
JOB | 作業(yè)信息 |
SCHEDULES | 調(diào)度信息 |
STEPS | 作業(yè)步驟信息 |
TARGETS | 目標(biāo)信息 |
[@job_type =] 'job_type'
是報(bào)表中要包括的作業(yè)類型。job_type 的數(shù)據(jù)類型為 varchar(12),默認(rèn)值為 NULL。job_type 可以是 LOCAL 或 MULTI-SERVER。
[@owner_login_name =] 'login_name'
是作業(yè)所有者的登錄名。login_name 的數(shù)據(jù)類型為 sysname,默認(rèn)值為 NULL。
[@subsystem =] 'subsystem'
是對(duì)子系統(tǒng)的描述。subsystem 的數(shù)據(jù)類型為 nvarchar(60),默認(rèn)設(shè)置為 NULL。
[@category_name =] 'category'
是分類名。category 的數(shù)據(jù)類型為 sysname,默認(rèn)值為 NULL。
[@enabled =] enabled
是一個(gè)數(shù)字,表示是顯示啟用作業(yè)的信息,還是顯示禁用作業(yè)的信息。enabled 的數(shù)據(jù)類型為 tinyint,默認(rèn)值為 NULL。1 表示啟用的作業(yè),0 表示禁用的作業(yè)。
[@execution_status =] status
是作業(yè)的執(zhí)行狀態(tài)。status 的數(shù)據(jù)類型為 int,默認(rèn)值為 NULL,而且可以是下列值之一。
值 | 描述 |
---|---|
0 | 只返回那些空閑的或掛起的作業(yè)。 |
1 | 正在執(zhí)行。 |
2 | 正在等待線程。 |
3 | 在兩次重試之間。 |
4 | 空閑。 |
5 | 掛起。 |
7 | 正在執(zhí)行完成操作。 |
[@date_comparator =] 'date_comparison'
是在 date_created 和 date_modified 的比較中所使用的比較運(yùn)算符。date_comparison 的數(shù)據(jù)類型為 char(1),并且可以是 =、< 或 >。
[@date_created =] date_created
是創(chuàng)建作業(yè)的日期。date_created 的數(shù)據(jù)類型為 datetime,默認(rèn)值為 NULL。
[@date_last_modified =] date_modified
是最后修改作業(yè)的日期。date_modified 的數(shù)據(jù)類型為 datetime,默認(rèn)值為 NULL。
[@description =] 'description_pattern'
是作業(yè)的描述。description_pattern 的數(shù)據(jù)類型為 nvarchar(512),默認(rèn)值為 NULL。description_pattern 可以包含 SQL Server 通配符,以實(shí)現(xiàn)模式匹配。
0(成功)或 1(失敗)
如果沒有指定參數(shù),那么 sp_help_job 返回下面的結(jié)果集。
列名 | 數(shù)據(jù)類型 | 描述 |
---|---|---|
job_id | uniqueidentifier | 作業(yè)的唯一 ID。 |
originating_server | nvarchar(30) | 作業(yè)來自的服務(wù)器名稱。 |
name | sysname | 作業(yè)的名稱。 |
enabled | tinyint | 表示是否啟用待執(zhí)行的作業(yè)。 |
description | nvarchar(512) | 對(duì)作業(yè)的描述。 |
start_step_id | int | 執(zhí)行作業(yè)的起始步驟 ID。 |
category | sysname | 作業(yè)分類。 |
owner | sysname | 作業(yè)所有者。 |
notify_level_eventlog | int | 位掩碼,它表示在何種情況下通知事件應(yīng)記錄到 Microsoft Windows NT® 應(yīng)用程序日志中。可以是下列值之一: 0 = 從不 |
notify_level_email | int | 位掩碼,它指明當(dāng)作業(yè)完成時(shí),在什么情況下應(yīng)該發(fā)送一個(gè)提示電子郵件??赡苤蹬c notify_level_eventlog 的可能值相同。 |
notify_level_netsend | int | 位掩碼,它指明當(dāng)作業(yè)完成時(shí),在什么情況下應(yīng)該發(fā)送一個(gè)網(wǎng)絡(luò)消息??赡苤蹬c notify_level_eventlog 的可能值相同。 |
notify_level_page | int | 位掩碼,它指明當(dāng)作業(yè)完成時(shí),在什么情況下應(yīng)該發(fā)送一個(gè)呼叫。可能值與 notify_level_eventlog 的可能值相同。 |
notify_email_operator | sysname | 要通知的操作員的電子郵件名稱。 |
notify_netsend_operator | sysname | 當(dāng)發(fā)送網(wǎng)絡(luò)消息時(shí),所使用的計(jì)算機(jī)或用戶的名稱。 |
notify_page_operator | sysname | 當(dāng)發(fā)送尋呼時(shí),所使用的計(jì)算機(jī)或用戶的名稱。 |
delete_level | int | 位掩碼,它指明當(dāng)作業(yè)完成時(shí),在什么情況下應(yīng)該刪除作業(yè)??赡苤蹬c notify_level_eventlog 的可能值相同。 |
date_created | datetime | 作業(yè)的創(chuàng)建日期。 |
date_modified | datetime | 上次修改作業(yè)的日期。 |
version_number | int | 作業(yè)的版本(每次修改作業(yè)時(shí)都自動(dòng)對(duì)其進(jìn)行更新)。 |
last_run_date | int | 作業(yè)上一次開始執(zhí)行的日期。 |
last_run_time | int | 作業(yè)上一次開始執(zhí)行的時(shí)間。 |
last_run_outcome | int | 作業(yè)上一次運(yùn)行時(shí)所得到的結(jié)果: 0 = 失敗 |
next_run_date | int | 調(diào)度作業(yè)下一次運(yùn)行的日期。 |
next_run_time | int | 調(diào)度作業(yè)下一次運(yùn)行的時(shí)間。 |
next_run_schedule_id | int | 下一個(gè)運(yùn)行的調(diào)度的標(biāo)識(shí)號(hào)。 |
current_execution_status | int | 當(dāng)前的執(zhí)行狀態(tài)。 |
current_execution_step | sysname | 作業(yè)中當(dāng)前的執(zhí)行步驟。 |
current_retry_attempt | int | 如果作業(yè)正在運(yùn)行,并且已經(jīng)重試過該步驟,那么這就是當(dāng)前的重試嘗試。 |
has_step | int | 作業(yè)具有的作業(yè)步驟的個(gè)數(shù)。 |
has_schedule | int | 作業(yè)具有的作業(yè)調(diào)度的個(gè)數(shù)。 |
has_target | int | 作業(yè)具有的目標(biāo)服務(wù)器的個(gè)數(shù)。 |
Type | int | 1 = 本地作業(yè)。 2 = 多服務(wù)器作業(yè)。 0 = 作業(yè)沒有目標(biāo)服務(wù)器。 |
如果指定了 job_id 或 job_name,那么 sp_help_job 針對(duì)作業(yè)步驟、作業(yè)調(diào)度及作業(yè)目標(biāo)服務(wù)器返回下面這些額外的結(jié)果集。
下面是針對(duì)作業(yè)步驟的結(jié)果集。
列名 | 數(shù)據(jù)類型 | 描述 |
---|---|---|
step_id | int | 步驟的唯一(是針對(duì)該作業(yè)的)標(biāo)識(shí)符。 |
step_name | sysname | 步驟的名稱。 |
Subsystem | nvarchar(40) | 子系統(tǒng),在該子系統(tǒng)中執(zhí)行步驟命令。 |
Command | nvarchar(3200) | 執(zhí)行的命令。 |
Flags | nvarchar(4000) | 控制步驟行為的值的位掩碼。 |
cmdexec_success_code | int | 對(duì)于CmdExec 步驟,這是成功命令的進(jìn)程退出代碼。 |
on_success_action | nvarchar(4000) | 步驟成功時(shí)的操作: 1 = 成功后退出。 |
on_success_step_id | int | 如果 on_success_action 為 4,即指明下一步執(zhí)行步驟 4。 |
on_fail_action | nvarchar(4000) | 步驟失敗時(shí)所采取的操作。值與 on_success_action 的值相同。 |
on_fail_step_id | int | 如果 on_fail_action 為 4,即指明下一步執(zhí)行步驟 4。 |
Server | sysname | 保留。 |
database_name | sysname | 對(duì)于 Transact=SQL 步驟,這是將要在其中執(zhí)行命令的數(shù)據(jù)庫。 |
database_user_name | sysname | 對(duì)于 Transact=SQL 步驟,這是數(shù)據(jù)庫用戶上下文,命令將在這個(gè)數(shù)據(jù)庫用戶上下文中執(zhí)行。 |
retry_attempts | int | 在將步驟認(rèn)定為已經(jīng)失敗之前,應(yīng)該對(duì)命令進(jìn)行重試的最大次數(shù)(如果命令沒有成功)。 |
retry_interval | int | 兩次重試嘗試之間的間隔(以分鐘為單位)。 |
os_run_priority | varchar(4000) | 保留。 |
output_file_name | varchar(200) | 應(yīng)該將命令的輸出寫入到其中的文件(只針對(duì) Transact=SQL 及 CmdExec 步驟)。 |
last_run_outcome | int | 步驟上一次運(yùn)行的結(jié)果: 0 = 失敗 |
last_run_duration | int | 步驟上一次運(yùn)行的持續(xù)時(shí)間(以秒為單位)。 |
last_run_retries | int | 步驟上一次運(yùn)行時(shí),命令進(jìn)行重試的次數(shù)。 |
last_run_date | int | 步驟上一次開始執(zhí)行的日期。 |
last_run_time | int | 步驟上一次開始執(zhí)行的時(shí)間。 |
下面是針對(duì)作業(yè)調(diào)度的結(jié)果集。
列名 | 數(shù)據(jù)類型 | 描述 |
---|---|---|
schedule_id | int | 調(diào)度的標(biāo)識(shí)符(對(duì)所有作業(yè)是唯一的)。 |
schedule_name | sysname | 調(diào)度的名稱(只對(duì)這個(gè)作業(yè)是唯一的)。 |
Enabled | int | 指明調(diào)度是活動(dòng)的 (1) 還是不活動(dòng)的 (0)。 |
freq_type | int | 指明何時(shí)執(zhí)行作業(yè)的值: 1 = 一次 |
freq_interval | int | 執(zhí)行作業(yè)的日子。該值依賴于 freq_type 的值。有關(guān)更多信息,請(qǐng)參見 sp_add_jobschedule。 |
freq_subday_type | int | freq_subday_interval 的單位。有關(guān)更多信息,請(qǐng)參見 sp_add_jobschedule。 |
freq_subday_interval | int | 在作業(yè)的每次執(zhí)行之間所發(fā)生的 freq_subday_type 的周期個(gè)數(shù)。有關(guān)更多信息,請(qǐng)參見 sp_add_jobschedule。 |
freq_relative_interval | int | 在每個(gè)月中,freq_interval 的已調(diào)度作業(yè)的發(fā)生情況。有關(guān)更多信息,請(qǐng)參見 sp_add_jobschedule。 |
freq_recurrence_factor | int | 作業(yè)的已調(diào)度執(zhí)行日期之間的間隔月數(shù)。 |
active_start_date | int | 開始執(zhí)行作業(yè)的日期。 |
active_end_date | int | 結(jié)束執(zhí)行作業(yè)的日期。 |
active_start_time | int | 在 active_start_date 那一天,開始執(zhí)行作業(yè)的時(shí)間。 |
active_end_time | int | 在 active_end_date 那一天,結(jié)束執(zhí)行作業(yè)的時(shí)間。 |
date_created | datetime | 創(chuàng)建調(diào)度的日期。 |
schedule_description | nvarchar(4000) | 對(duì)調(diào)度的英語描述(如果需要的話)。 |
next_run_date | int | 調(diào)度下一次引發(fā)作業(yè)運(yùn)行的日期。 |
next_run_time | int | 調(diào)度下一次引發(fā)作業(yè)運(yùn)行的時(shí)間。 |
下面是針對(duì)目標(biāo)服務(wù)器的結(jié)果集。
列名 | 數(shù)據(jù)類型 | 描述 |
---|---|---|
server_id | int | 目標(biāo)服務(wù)器的標(biāo)識(shí)符。 |
server_name | nvarchar(30) | 目標(biāo)服務(wù)器的計(jì)算機(jī)名稱。 |
enlist_date | datetime | 將目標(biāo)服務(wù)器登記到主服務(wù)器 (MSX) 的日期。 |
last_poll_date | datetime | 目標(biāo)服務(wù)器上一次輪詢 MSX 的日期。 |
last_run_date | int | 在這個(gè)目標(biāo)服務(wù)器上,作業(yè)上一次開始執(zhí)行的日期。 |
last_run_time | int | 在這個(gè)目標(biāo)服務(wù)器上,作業(yè)上一次開始執(zhí)行的時(shí)間。 |
last_run_duration | int | 作業(yè)上一次在這個(gè)目標(biāo)服務(wù)器上運(yùn)行的持續(xù)時(shí)間。 |
last_run_outcome | tinyint | 作業(yè)上一次在這個(gè)服務(wù)器上運(yùn)行的結(jié)果: 0 = 失敗 |
last_outcome_message | nvarchar(1024) | 作業(yè)上一次在這個(gè)目標(biāo)服務(wù)器上運(yùn)行時(shí)的結(jié)果消息。 |
執(zhí)行權(quán)限默認(rèn)授予 msdb 數(shù)據(jù)庫中的 public 角色。可以執(zhí)行該過程的用戶和 sysadmin 固定角色成員的用戶都可以對(duì)下列內(nèi)容進(jìn)行創(chuàng)建、刪除或更新操作:作業(yè)、作業(yè)步驟、作業(yè)分類、作業(yè)調(diào)度、作業(yè)服務(wù)器、任務(wù)或作業(yè)歷史信息。
非 sysadmin 固定角色成員的用戶可使用 sp_help_job 只查看自己的作業(yè)。
當(dāng)由 sysadmin 固定服務(wù)器角色成員的用戶喚醒調(diào)用 sp_help_job 時(shí),將在運(yùn)行 SQL Server 服務(wù)的安全上下文中執(zhí)行 sp_help_job。當(dāng)用戶不是 sysadmin 組的成員時(shí),sp_help_job 將模擬 SQL Server 代理的代理帳戶,該帳戶是使用 xp_sqlagent_proxy_account 指定的。如果代理帳戶不可用,則 sp_help_job 將失敗。僅對(duì)于 Microsoft® Windows NT® 4.0 和 Windows 2000 才如此。在 Windows 9.x 上無模擬,并且始終在啟動(dòng) Windows 9.x 的用戶的安全上下文中執(zhí)行 sp_help_job。
下面的示例執(zhí)行不帶參數(shù)的 sp_help_job 過程,從而為當(dāng)前在 msdb 數(shù)據(jù)庫中定義的所有作業(yè)返回信息。
USE msdb
EXEC sp_help_job
下面的示例列出了名為 Archive Tables 的多服務(wù)器作業(yè)的所有作業(yè)特征信息,該作業(yè)在其中啟用,并且自創(chuàng)建以來已經(jīng)被更改。
USE msdb相關(guān)文章
EXEC sp_help_job NULL, 'Archive Tables', 'ALL', 'MULTI-SERVER', 'janetl',
NULL, NULL, 1, 1, '<', '12/01/97', '6/25/98', NULL