Ssis
將 SSIS SQL 代理作業設置為意外錯誤或失敗
當伺服器關閉時,我正在虛擬伺服器上的 SQL 代理作業中執行一系列 SSIS 包 - 很難。
包執行報告顯示它仍在執行,即使我認為它不是。我相信這是因為代理無法編寫顯示為“意外終止”所需的任何最終狀態記錄。
- 我如何驗證它實際上並未仍在執行?
- 如何告訴 SSIS 報告 > 所有執行它沒有執行?
我可以在 SSISdb 表中更新或插入記錄嗎?
如果您跟踪報告生成的查詢,您將看到執行儲存在
[catalog].[executions]
集成服務目錄後面的數據庫中。你可以修改你的
[end_time]
那裡,你應該能夠“修復”報告。我還沒有設法重現您的確切情況(即硬重置 VM 以使程序包處於執行狀態),但我可以修改該欄位中的值,並且“所有執行”報告會反映新值。
但是,不要設置
end_time
太多,start_time
因為如果您的包似乎已經執行了幾天,您將在報告中收到溢出錯誤。根據文件,您可以使用以下狀態:
操作的狀態。可能的值是創建 (1)、執行 (2)、取消 (3)、失敗 (4)、掛起 (5)、意外結束 (6)、成功 (7)、停止 (8) 和完成 (9) .
所以執行這個:
UPDATE [catalog].[executions] SET [end_time] = DATEADD(minute, 2, start_time) ,[status] = 6 WHERE [execution_id] = 2;
在我的系統上導致一個包在 2 分鐘後顯示“意外終止”。