2014年1月7日 星期二

Log 與 Audit

Package Logging

在 SSIS 之中,要記錄Logggin大至可分成二個方向。事件狀況執行過程

  • 前一種情形,你可以在封裝中透過 event handler 或者 data flow 元件的 error output 來設計,或者在 precedence constraint 中針對各種不同的情況設計回應。
  • 後一種情形,則是本節要學習的「記錄(Logging)」。 你可以在封裝中,利用「記錄提供者(Log Providers)」來記錄執行封裝之操作員的名稱,以及封裝開始和結束的時間。

「記錄提供者」包含5種類型:

  • Text file
  • SQL Server Profiler:將記錄儲存在事件追蹤器(SQL Server Profiler)所指定的檔案中。
  • SQL Server:將記錄儲存在 SQL Server 的 SSISDB 資料庫中。
  • Windows Event Log
  • XML file

Configure an Event Logging

1. 在封裝設計的區域,由右鍵選單中,點選 [記錄] 以開啟 [SSIS 記錄設定編輯器] 。

2. 選擇你要的提供者類型:(不限一種)

3. 勾選你要記錄的容器。

4. 勾選你要記錄的事件。

5. 若使用 Windows Event Log 提供者類型,那麼在封裝執行後,就可以在 Windows Event Log 看到以下的記錄。

6. 若使用 SQL Server 提供者類型,那麼在封裝執行後,就可以透過 catalog.executable_statistics 查看以下的記錄。

Package Auditing

「稽核」通常是指收集資料被變更的過程,它關注的是:

  • when the data was changed
  • using what operation
  • who changed the data

「稽核」與「記錄」最大的不同在於:

  • Logging captures information about how a process is being executed (the events, as they occur);
  • Auditing provides an overview of what is being processed (the data itself, or aggregated values based on it).
  • 稽核在意的是資料變更後的狀態,而記錄在意的則是變更過程的狀態。

Auditing Techniques

Elementary auditing

Complete auditing

Auditing Components

Row Count Transformation

Aggregate Transformation

Audit Transformation

Package Template

封裝範本

在設計封裝時,如果每個封裝中都有一些固定的工作要執行,或者你希望每個封裝都可以執行固定的logging或auditting等工作, 你就可以先將這些會在每個封裝中都必需執行的工作,預先在一個封裝裡設定好,再將這個封裝存成範本,往後就可以使用這個範本建立新的封裝。

Creating an SSIS Package Template

封裝範本預設存放目錄為:「C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\PrivateAssemblies\ProjectItems\DataTransformationProject\DataTransformationItems 」,你只要將你要拿來當範本的封裝,另存到該目錄即可。

Using an SSIS Package Template

若要使用範本來建立封裝,你只要在專案下加入「新增項目」。

自訂的封裝範本,都會出現在這裡。這時就可以使用封裝範本建立新的封裝。

沒有留言:

張貼留言