2016-12-09 140 views
0

以下步驟是否足以讓SSIS包將錯誤記錄到日誌文件 1)爲要記錄的文本文件設置連接。 2)在事件處理程序中,在特定的可執行文件或程序包上設置「On error」。SSIS中的錯誤日誌記錄

如果答案是肯定的,那麼如何做SSIS開始認識到的錯誤已被髮送到日誌文件,因爲我們沒有明確提到它的代碼

回答

1

日誌記錄的目的是挑選任何地方在運行SSIS包的各個步驟時出現錯誤。因此,如果將記錄移動到Tablea的步驟失敗,則會記錄日誌。如果在某些情況下有步驟給某人發送電子郵件並且該步驟無法工作,因爲當天無法訪問電子郵件服務器,則該步驟失敗等。但是您可以執行一個步驟來檢查文件是否存在如果該文件不存在,您可以將其設置爲OnError事件。您可以使用腳本來檢查文件的結構,並在文件不正確時導致錯誤。但這些都是你必須自己添加的支票。

日誌記錄也不用於記錄數據錯誤。這是您必須爲自己設計的,因爲只有程序包設計人員知道哪些業務規則會導致數據出錯。我們創建一個異常表來將不良記錄移入並在包中包含步驟以檢查缺少的必需值或與特定查找不匹配的值(例如,XA在美國地址中不是有效的狀態)。您必須確定您可以執行的數據清理類型以及應將哪些類型的記錄發送到異常日誌並運行其餘類型或什麼類型的東西會導致整個數據導入或導出失敗。

例如,我們有一些條件必須在導入銷售名單才能成功。如果一位代表沒有電子郵件地址,我們可以將該代表發送給一個例外,如果10%的代表沒有電子郵件地址,那麼該包不會處理,因爲文件顯然有問題。另一個導致事情失敗的規則是,如果我們不能根據發送的數據構建銷售層次結構(例如,一個人不能自己舉報!)。如果銷售人員與我們不支持的產品相關聯,那麼對於可能會使整個包裹失敗的一些客戶(因爲我們知道他們弄亂了他們打算髮送的內容),並且對於某些客戶,可能他們要求我們忽略這些記錄。

通常在構建導入時,我的經驗法則是,您應該在這類事情上花費至少2/3的開發時間。這是ETL過程的變換部分,它是數據長期維護的關鍵。

+0

SSIS包是否足以記錄錯誤到日誌文件,如果下面2被設置。 1)設置文本文件的連接以進行記錄。 2)在事件處理程序中,在特定的可執行文件或程序包上設置「On error」。如果答案是肯定的,那麼SSIS是如何知道錯誤必須發送到日誌文件的,因爲我們沒有在代碼中的任何地方明確提及它。 – reach2khan

0

如果安裝了以下2,SSIS包是否足以將錯誤記錄到日誌文件中。 1)設置文本文件的連接以進行記錄。 2)在事件處理程序中,在特定的可執行文件或程序包上設置「On error」。如果答案是肯定的,那麼SSIS是如何知道錯誤必須發送到日誌文件的,因爲我們在代碼中沒有明確提及它的任何地方