指示 SQL Server 代理程序立即執(zhí)行作業(yè)。
sp_start_job [@job_name =] 'job_name' | [@job_id =] job_id
[,[@error_flag =] error_flag]
[,[@server_name =] 'server_name']
[,[@step_name =] 'step_name']
[,[@output_flag =] output_flag]
[@job_name =] 'job_name'
是要啟動(dòng)的作業(yè)名。必須指定 job_id 或 job_name 兩者之一,但不能同時(shí)指定兩者。job_name 的數(shù)據(jù)類(lèi)型為 sysname,默認(rèn)設(shè)置為 NULL。
[@job_id =] job_id
是要啟動(dòng)的作業(yè)標(biāo)識(shí)號(hào)。必須指定 job_id 或 job_name 兩者之一,但不能同時(shí)指定兩者。job_id 的數(shù)據(jù)類(lèi)型為 uniqueidentifier,默認(rèn)設(shè)置為 NULL。
[@error_flag =] error_flag
保留。
[@server_name =] 'server_name'
是要啟動(dòng)作業(yè)的目標(biāo)服務(wù)器。server_name 的數(shù)據(jù)類(lèi)型是 nvarchar(30),默認(rèn)設(shè)置為 NULL。server_name 必須是作業(yè)當(dāng)前的目標(biāo)服務(wù)器之一。
[@step_name =] 'step_name'
是開(kāi)始執(zhí)行作業(yè)的步驟名。只適用于本地作業(yè)。step_name 的數(shù)據(jù)類(lèi)型是 sysname,默認(rèn)設(shè)置為 NULL。
[@output_flag =] output_flag
保留。
0(成功)或 1(失?。?/P>
無(wú)
執(zhí)行權(quán)限默認(rèn)授予 msdb 數(shù)據(jù)庫(kù)中的 public 角色??蓤?zhí)行此存儲(chǔ)過(guò)程而且是 sysadmin 固定角色成員的用戶可以啟動(dòng)任何作業(yè)。不是 sysadmin 角色成員的用戶使用 sp_start_job 只能啟動(dòng)他/她所擁有的作業(yè)。
當(dāng) sysadmin 固定服務(wù)器角色成員的用戶喚醒調(diào)用 sp_start_job 時(shí),sp_start_job 將在 SQL Server 服務(wù)正在其中運(yùn)行的安全上下文中執(zhí)行。當(dāng)用戶不是 sysadmin 固定服務(wù)器角色的成員時(shí),sp_start_job 將模擬 SQL Server 代理代理帳戶,而該帳戶是通過(guò) xp_sqlagent_proxy_account 指定的。如果代理帳戶不可用,則 sp_start_job 將失敗。只有 Microsoft® Windows NT® 4.0 和 Windows 2000 有上述情況。在 Windows 9.x 上沒(méi)有模擬,而且 sp_start_job 總是在啟動(dòng) SQL Server 的 Windows 9.x 用戶的安全上下文中執(zhí)行。
下例啟動(dòng)名為 Nightly Backup 的作業(yè)。
USE msdb
EXEC sp_start_job @job_name = 'Nightly Backup'
相關(guān)文章