sp_help_jobstep (Transact-SQL)
適用於:SQL Server
傳回 SQL Server Agent 服務用來執行自動化活動之作業中步驟的資訊。
語法
sp_help_jobstep
[ [ @job_id = ] 'job_id' ]
[ , [ @job_name = ] N'job_name' ]
[ , [ @step_id = ] step_id ]
[ , [ @step_name = ] N'step_name' ]
[ , [ @suffix = ] suffix ]
[ ; ]
引數
[ @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,但無法指定兩者。
[ @step_id = ] step_id
作業中步驟的標識碼。 如果未包含,則會包含作業中的所有步驟。 @step_id為 int,預設值為 NULL
。
[ @step_name = ] N'step_name'
作業中步驟的名稱。 @step_name為 sysname,預設值為 NULL
。
[ @suffix = ] 後綴
旗標,指出文字描述是否附加至 輸出中的旗標數據 行。 @suffix為 bit,預設值為 0
。 如果 @後綴 為 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 | 上次執行步驟的持續時間 (hhmmss ) 。 |
last_run_retries |
int | 上次執行步驟時,命令重試的次數。 |
last_run_date |
int | 上次開始執行步驟的日期。 |
last_run_time |
int | 上次開始執行步驟的時間。 |
proxy_id |
int | 作業步驟的 Proxy。 |
備註
sp_help_jobstep
位於 msdb
資料庫中。
權限
您可以授與此 EXECUTE
程序的許可權,但這些許可權可能會在 SQL Server 升級期間覆寫。
其他用戶必須在資料庫中獲得下列其中一個 SQL Server Agent 固定資料庫角色 msdb
:
- 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