2011-06-20 314 views
10

我有一個以前有兩個步驟的SQL Server代理作業。今天,我必須整合第三步,很快我需要整合第四步。SQL Server代理作業:如何在不執行整個作業的情況下執行作業步驟

我想確保該步驟將正確執行,但我不想執行整個作業。

前兩個步驟需要相當多的時間來執行,並且在白天他們會佔用我用戶所需的大量SQL資源。

有沒有辦法可以執行工作步驟而不是整個工作流程?

在SSMS中,如果我右鍵單擊該作業,則會出現一個選項,指出「開始作業在步驟...」,除非我嘗試使用該選項時,會顯示一個對話框,似乎意味着整個作業都有已經開始。我可以做什麼來測試工作中的一步?

在此先感謝。

回答

15

「在步驟開始作業」將在您指定的步驟開始作業。但是,如果您不希望執行任何後續步驟,請務必調整步驟邏輯,以便在完成開始步驟後「退出報告成功」。

+0

好吧,我看它是如何工作了。我早些時候使用過這種方法,並回憶起來有點困惑。就像我剛纔提到的那樣,我的第一步驟耗盡了大量資源,所以我不想嘗試。感謝您的澄清。 – RLH

0

轉到工作屬性並手動執行該步驟。例如,有16個步驟的工作,並且您想要運行第12步,然後轉到該工作屬性並查看第12步的確切步驟。如果它在命令提示符下執行批處理文件,請手動執行。但是這種邏輯不能在所有情況下使用。

0

使用此:

EXEC msdb.dbo.sp_start_job N'job_name' , 'step_name' 
+1

這並不是只運行一個給定的步驟,而是通過圖形用戶界面執行相同的操作,它在給定的步驟開始作業,並且按順序將按照作業正常流程運行,因此除非您運行最後一步,否則改變它可以運行作業中所有步驟的邏輯,這取決於你開始的步驟。 – Jevl