共用方式為


sp_help_jobstep (Transact-SQL)

適用於:SQL Server

傳回 SQL Server Agent 服務用來執行自動化活動之作業中步驟的資訊。

Transact-SQL 語法慣例

語法

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_action4,這個值表示要執行的下一個步驟。
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、 CmdExecPowerShell 步驟)。
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 資料庫中。

權限

此預存程式是由 db_owner 角色所擁有。 您可以授與 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