sp_help_jobstep (Transact-SQL)
傳回 SQL Server Agent 服務用來執行自動化活動之作業步驟的資訊。
語法
sp_help_jobstep { [ @job_id = ] 'job_id' | [ @job_name = ] 'job_name' }
[ , [ @step_id = ] step_id ]
[ , [ @step_name = ] 'step_name' ]
[ , [ @suffix = ] suffix ]
引數
[ @job_id =] 'job_id'
將傳回作業資訊的作業識別碼。job_id 是 uniqueidentifier,預設值是 NULL。[ @job_name =] 'job_name'
作業的名稱。job_name 是 sysname,預設值是 NULL。[!附註]
您必須指定 job_id 或 job_name,但不能同時指定這兩者。
[ @step_id =] step_id
這是作業中的步驟識別碼。如果沒有包含這個識別碼,便會包含作業中的所有步驟。step_id 是 int,預設值是 NULL。[ @step_name =] 'step_name'
這是作業中的步驟名稱。step_name 是 sysname,預設值是 NULL。[ @suffix =] suffix
這是一個旗標,指出輸出中的 flags 資料行是否有附加文字描述。suffix 是 bit,預設值是 0。如果 suffix 是 1,就會附加描述。
傳回碼值
0 (成功) 或 1 (失敗)
結果集
資料行名稱 |
資料類型 |
描述 |
---|---|---|
step_id |
int |
步驟的唯一識別碼。 |
step_name |
sysname |
作業中的步驟名稱。 |
subsystem |
nvarchar(40) |
在其中執行步驟命令的子系統。 |
command |
nvarchar(max) |
在步驟中執行的命令。 |
flags |
int |
這是一個位元遮罩,用來控制步驟行為的值。 |
cmdexec_success_code |
int |
對於 CmdExec 步驟而言,這是成功命令的處理序結束碼。 |
on_success_action |
tinyint |
步驟成功時所採取的動作: 1 = 結束作業報告成功。 2 = 結束作業報告失敗。 3 = 移至下一步驟。 4 = 移至步驟。 |
on_success_step_id |
int |
如果 on_success_action 是 4,這就表示要執行的下一個步驟。 |
on_fail_action |
tinyint |
作業失敗時要執行什麼動作。其值如同 on_success_action。 |
on_fail_step_id |
int |
如果 on_fail_action 是 4,這就表示要執行的下一個步驟。 |
server |
sysname |
已保留。 |
database_name |
sysname |
如果是 Transact-SQL 步驟,這就是命令執行所在的資料庫。 |
database_user_name |
sysname |
如果是 Transact-SQL 步驟,這就是命令執行所在的資料庫使用者環境。 |
retry_attempts |
int |
命令應該重試的最大次數 (如果沒有成功)。 |
retry_interval |
int |
任何重試的間隔 (以分鐘為單位)。 |
os_run_priority |
int |
已保留。 |
output_file_name |
nvarchar(200) |
應該寫入命令輸出的檔案 (只適用於 Transact-SQL、CmdExec 和 PowerShell 步驟)。 |
last_run_outcome |
int |
上次執行步驟的結果: 0 = 失敗 1 = 成功 2 = 重試 3 = 取消 5 = 未知 |
last_run_duration |
int |
步驟上次執行的持續時間 (以秒為單位)。 |
last_run_retries |
int |
上次執行步驟時的命令重試次數。 |
last_run_date |
int |
上次開始執行步驟的日期。 |
last_run_time |
int |
上次開始執行步驟的時間。 |
proxy_id |
int |
作業步驟的 Proxy。 |
備註
sp_help_jobstep 在 msdb 資料庫中。
權限
依預設,只有系統管理員 (sysadmin) 固定伺服器角色的成員,才能夠執行這個預存程序。其他使用者必須被授與 msdb 資料庫的下列其中一個 SQL Server Agent 固定資料庫角色。
SQLAgentUserRole
SQLAgentReaderRole
SQLAgentOperatorRole
如需有關這些角色權限的詳細資料,請參閱<SQL Server Agent 固定資料庫角色>。
SQLAgentUserRole 的成員只能檢視他們擁有作業的作業步驟。
範例
A. 傳回特定作業中之所有步驟的資訊
下列範例會傳回名稱為 Weekly Sales Data Backup 之作業的所有作業步驟。
USE msdb ;
GO
EXEC dbo.sp_help_jobstep
@job_name = N'Weekly Sales Data Backup' ;
GO
B. 傳回特定作業步驟的資訊
下列範例會傳回名稱為 Weekly Sales Data Backup 之作業的第一個作業步驟的資訊。
USE msdb ;
GO
EXEC dbo.sp_help_jobstep
@job_name = N'Weekly Sales Data Backup',
@step_id = 1 ;
GO