2011-07-18 31 views
0

SSIS ETL設計SSIS ETL設計

我試圖建立一個ETL工作。下面是我的主要設計考慮

  1. 一個主表來跟蹤數據拉和狀態

表詳細

表名稱 - JobStatus

  • 列 - 的JobId,開始時間,結束時間,狀態

表名稱 - JobDetails

  • Job_Detail_id,的JobId,表名,開始時間,結束時間,狀態

表名稱 - 錯誤日誌

  • ErrorLogid,ErrorDesc,時間,留言:

工作原理

  1. 每當作業失敗,作業詳細信息表將有助於找出哪個是最後一個差錯表,ETL作業可以從該步驟開始

  2. SSIS包會源和分期DB之間的每個表中定義數據流任務

  3. 它是如何工作

    • 認沽在進入作業狀態表,開始包的執行實例

    • 單個表的每個Dataflow任務都會在JobDetails表中放入一個條目。數據加載結束時間和狀態將被更新

    • 上的錯誤狀態更新爲錯誤,並進入記錄在錯誤日誌表

後,我需要這種方法您的意見/反饋。任何與本示例相關的ETL設計的書籤/博客帖子也會有所幫助

+0

也在MSDN論壇發佈了這個,這個方法看起來不錯 - http://social.msdn.microsoft.com/Forums/en/sqlintegrationservices/thread/16df1485-18a3-4513-9771-de6bd92331d7 – Siva

回答

1

我認爲您提到的有關從故障點重新啓動程序包執行的要求已經存在於SSIS中。您可以使用Checkpoint文件來實現該功能。內置的SSIS日誌記錄功能可以幫助您跟蹤錯誤消息並幫助解決問題。

Click here看到一篇文章,我已寫在我的網站上就你的問題。我希望這可以讓您瞭解SSIS中已經存在的功能以及如何充分利用它。

我認爲您可以花大量精力調整核心業務功能,而不是重新創建大部分已存在的流程。標準功能可能需要根據我們的要求做一些小的更改,但我認爲您不需要從頭開始。

希望有所幫助。

+0

你是部分權利,這種記錄類型有助於從故障點重新啓動,而不是從頭開始。感謝您在博客中的詳細發帖 – Siva

+0

感謝Siva抽出時間並逐步提供示例。現在,我只需要存儲上次運行的作業時間。 – Siva