sp_start_job (Transact-SQL)

適用於:SQL ServerAzure SQL 受控執行個體

指示 SQL Server Agent 立即執行作業。

Transact-SQL 語法慣例

語法

sp_start_job
    [ [ @job_name = ] N'job_name' ]
    [ , [ @job_id = ] 'job_id' ]
    [ , [ @error_flag = ] error_flag ]
    [ , [ @server_name = ] N'server_name' ]
    [ , [ @step_name = ] N'step_name' ]
    [ , [ @output_flag = ] output_flag ]
[ ; ]

引數

[ @job_name = ] N'job_name'

要啟動之作業的名稱。 @job_name為 sysname,預設值為 NULL

必須指定@job_id@job_name,但無法指定兩者。

[ @job_id = ] 'job_id'

要啟動之作業的標識碼。 @job_id為 uniqueidentifier,預設值為 NULL

必須指定@job_id@job_name,但無法指定兩者。

[ @error_flag = ] error_flag

僅供參考之用。 不支援。 我們無法保證未來的相容性。

[ @server_name = ] N'server_name'

要啟動作業的目標伺服器。 @server_name為 sysname,預設值為 NULL@server_name必須是作業目前目標的目標伺服器之一。

[ @step_name = ] N'step_name'

開始執行作業之步驟的名稱。 @step_name為 sysname,預設值為 NULL。 僅適用於本機作業。

[ @output_flag = ] output_flag

僅供參考之用。 不支援。 我們無法保證未來的相容性。

傳回碼值

0 (成功) 或 1 (失敗)。

結果集

無。

備註

這個預存程式位於 msdb 資料庫中。

此預存程式會與 Azure SQL 資料庫 的 Azure Elastic Jobs 服務類似對象共享 的名稱sp_start_job。 如需彈性作業版本的相關信息,請參閱 jobs.sp_start_job (Azure Elastic Jobs) (Transact-SQL)

此預存程式是由 db_owner 角色所擁有。 您可以授與 EXECUTE 任何用戶的許可權,但這些許可權可能會在 SQL Server 升級期間覆寫。

其他用戶必須在資料庫中獲得下列其中一個 SQL Server Agent 固定資料庫角色 msdb

  • SQLAgentUserRole
  • SQLAgentReaderRole
  • SQLAgentOperatorRole

如需這些角色權限的詳細資訊,請參閱 SQL Server Agent 固定資料庫角色

SQLAgentUserRole 和 SQLAgentReaderRole 的成員只能啟動他們所擁有的作業。 SQLAgentOperatorRole 的成員可以啟動所有本機作業,包括其他使用者所擁有的作業。 系統管理員的成員可以啟動所有本機和多伺服器作業。

範例

下列範例會啟動名為 Weekly Sales Data Backup的作業。

USE msdb;
GO

EXEC dbo.sp_start_job N'Weekly Sales Data Backup';
GO