Ssis

將 SSIS SQL 代理作業設置為意外錯誤或失敗

  • May 30, 2016

當伺服器關閉時,我正在虛擬伺服器上的 SQL 代理作業中執行一系列 SSIS 包 - 很難。

包執行報告顯示它仍在執行,即使我認為它不是。我相信這是因為代理無法編寫顯示為“意外終止”所需的任何最終狀態記錄。

  1. 我如何驗證它實際上並未仍在執行?
  2. 如何告訴 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 分鐘後顯示“意外終止”。

引用自:https://dba.stackexchange.com/questions/138916