2010-05-11 89 views
2

我有一個SSIS包工作正常。包裹每晚運行,需要大約4個小時才能完成。我對SSIS是一個新手,所以我想看看我的選擇是什麼。我在網上找不到關於這兩個問題的任何內容,因此非常感謝任何建議。SSIS處理外部問題

  1. 怎麼辦時,我有一個外部 問題,如電源故障 /意外重啓。有沒有 提醒某人或讓 程序包在重新啓動時重新開始。

  2. 幾個星期前,有一個 的過程,得到了懸掛和鎖定 表,製作過程不 執行。如何 處理,以確保我有適當的 訪問之前開始,如果沒有, 得到訪問的最佳途徑。我很喜歡 的進程等

尋找最佳實踐信息。謝謝

回答

1

對於#1 - 在SSIS中沒有固有的「重啓」機制,因爲從一開始就沒有固有的「啓動」機制。您必須查看管理包的預定執行的過程,我認爲這可能是SQL Agent。 鑑於此,無論作業的內容是否爲SSIS包,用於確定SQL Agent作業是否失敗和/或重新啓動該作業的選項都是相同的。有相當多的存儲過程用於監視和查詢作業執行和結果。您也可以實施自己的記錄作業/包狀態的機制。 SSIS確實提供了「檢查點」以幫助您從某些點重新啓動軟件包,但對此功能的一般認同是它的適用性有限 - 您的里程可能會有所不同。 就我個人而言,我總是在工作中包含一條失敗路線,在工作失敗時通過電子郵件向某人發送電子郵件,並將我的工作和軟件包配置爲冪等 - 也就是說,他們可以重新運行而無需擔心兩次不正確地執行相同的操作。他們或者「重置」環境(刪除和重新加載),或者他們可以準確地檢測到他們離開的地方。

項目#2是一個難題,並且很大程度上取決於您的環境和場景。如果存在足夠的特權或鎖,則可以使用簡單的任務(如執行SQL任務)來運行經測試失敗的「測試」命令。或者,您也許可以通過SP或其他機制直接查詢,以確定在嘗試運行包裹的肉類之前是否需要採取補救措施。 使用優先約束「失敗」可以輔助這種邏輯。所以可以事件處理程序。

+0

非常好的迴應,謝謝! – 2010-05-12 16:12:59