簡體   English   中英

使用sqlcmd按批處理文件運行SQL Server作業

[英]SQL Server job run by batch file using sqlcmd

我使用SQLCMD為觸發SQL作業創建了批處理文件,但是我們無法捕獲作業運行的最后狀態。 請讓我知道我們需要在批處理文件中編寫哪些代碼。

根據我們的代碼,我們只在作業運行時捕獲,但我們希望作業狀態失敗或通過。 我已經嘗試了很多東西甚至能夠捕獲日志但我們只想要最后的工作狀態。

以下是批處理文件中使用的代碼:

echo execute job
sqlcmd -S "servername" -Q "execute msd.dbo.sp_start_job @job_name='Test_Job_Autosys'" -o c:\sqlscript\output.txt

if errorlevel 1 exit/b

echo job execution completed

輸出:

Job started successfully

我們無法捕獲工作失敗或通過; 請告訴我們如何捕捉工作狀態。

就像Nick.McDermaid說的那樣。 作業以異步方式啟動,因此無需等待找出作業的狀態即可返回。

我建議你在存儲過程中包含對msd.dbo.sp_start_job的調用。 這樣,您可以監視作業狀態,並在作業失敗時返回或引發錯誤。

這里有一篇文章更詳細地解釋了它。

從T-SQL內部查詢代理作業狀態,執行和等待作業完成

希望有所幫助

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM