文章編號: 906563 - 上次校閱: 2006年3月11日 - 版次: 2.2

如何解譯由使用 SQL Server 2005 整合服務記錄檔提供者記錄的資料

系統提示本文適用於您使用的作業系統之外的作業系統。與您不相關的文章內容已停用。

在此頁中

全部展開 | 全部摺疊

簡介

Microsoft SQL Server 2005 整合服務 (SSIS) 使用 「 執行封裝工作支援父-子封裝關係。「 執行封裝 」 工作是其中一個可用的控制項流程物件,SSIS 專案中。您可以使用 「 執行封裝 」 工作來呼叫另一個封裝作為工作流程的一部份。SSIS 封裝可以使用 SSIS 記錄提供者來記錄事件資訊。當父封裝執行時,SSIS 記錄資料,便會記錄從兩個 SSIS 記錄檔提供者、 子封裝和父封裝。本文將告訴您,如何解譯由使用 SQL Server 2005 整合服務記錄檔提供者記錄的資料。本文也包含可協助您開發已記錄的資料為基礎的查詢資訊。

其他相關資訊

附註本文章中被呼叫的封裝被稱為 「 子 」 封裝。呼叫封裝被指 「 父代 」 套件。

當您執行父封裝子封裝設計成使用 SSIS 記錄提供者記錄項目兩次就會記錄此項目。第一次執行內容的子封裝下會記錄在項目。第二次執行內容的父封裝下會記錄此項目。若要識別執行內容,檢查記錄資料中的 [executionID] 欄位。(executionID 欄位含有唯一的 GUID)。記錄的執行內容的父封裝下的子封裝的記錄項目包含一個 使用者:事件 欄位的前置詞。比方說如果執行內容是在父封裝下,[事件] 欄位會包含 使用者: OnPreExecuteOnPreExecute 代替。

範例 1: 二封裝在單一的執行內容下登

下列範例顯示一組由父封裝和 SSIS 記錄檔提供者為 SQL Server 的子封裝已記錄的記錄檔項目。執行內容的父封裝下已記錄這些項目。
source                  sourceID                                 event                executionID
===========================================================================================================================
AdventureWorks_parent   72CF88F8-952D-4D5D-B67F-D52AE1690E0B     PackageStart        161B2818-8BB3-40A6-9C1F-5DC4F7225556
AdventureWorks_parent   72CF88F8-952D-4D5D-B67F-D52AE1690E0B     OnPreExecute        161B2818-8BB3-40A6-9C1F-5DC4F7225556
AdventureWorks_child    472C4826-4278-4D29-9CBA-6586AC7FE418     User:OnPreExecute   161B2818-8BB3-40A6-9C1F-5DC4F7225556
AdventureWorks_child    472C4826-4278-4D29-9CBA-6586AC7FE418     User:OnPostExecute  161B2818-8BB3-40A6-9C1F-5DC4F7225556
AdventureWorks_parent   72CF88F8-952D-4D5D-B67F-D52AE1690E0B     OnPostExecute       161B2818-8BB3-40A6-9C1F-5DC4F7225556
AdventureWorks_parent   72CF88F8-952D-4D5D-B67F-D52AE1690E0B     PackageEnd          161B2818-8BB3-40A6-9C1F-5DC4F7225556
本範例包含兩個項目為 OnPreExecute 事件與 OnPostExecute 事件的兩個項目。子封裝張貼項目有一個 使用者:事件 欄位的前置詞。executionID 資訊是相同的隸屬於特定的執行內容的所有項目。

記錄事件視窗可讓您輕鬆查看 SQL Server 商務智慧開發 Studio 中的記錄檔事件,並識別 executionID 欄位及其他欄位。若要開啟記錄事件視窗、 按一下 SSIS 設計師的 [控制項流程] 索引標籤然後按一下 [SSIS 功能表上的 [記錄事件。如果使用 SQL Server 的 SSIS 記錄檔提供者記錄事件您可以使用下列的範例 Transact-SQL 陳述式來擷取父和子封裝的記錄檔資訊。 SSIS 記錄提供者一律會將資料儲存至 SQL Server 資料庫中的 [sysdtslog90] 資料表。因此,對 sysdtslog90 資料表在您所選擇的 SQL Server 資料庫中執行查詢的
SELECT  source,sourceID,event,executionID
from sysdtslog90 
where event in ('onpreexecute','onpostexecute','user:onpreexecute','user:onpostexecute','PackageStart','PackageEnd')
and [executionid] like ('161B2818-8BB3-40A6-9C1F-5DC4F7225556%')
and source in ('AdventureWorks_parent','AdventureWorks_child')
order by starttime
附註 若要使用這個範例以代替 executionID 和原始檔套用至特定的記錄檔資料的項目。 [SSIS 記錄檔提供者。

範例 2: A 單一封裝記錄在兩個執行內容

下面範例列出由兩個執行內容] 下的子封裝已記錄的記錄項目。
source                 sourceID                                  event                executionID
===========================================================================================================================
AdventureWorks_child   472C4826-4278-4D29-9CBA-6586AC7FE418      User:OnPostExecute   161B2818-8BB3-40A6-9C1F-5DC4F7225556
AdventureWorks_child   472C4826-4278-4D29-9CBA-6586AC7FE418      OnPostExecute        8C43E096-63DF-4692-98E4-49E88D271734
AdventureWorks_child   472C4826-4278-4D29-9CBA-6586AC7FE418      User:OnPreExecute    161B2818-8BB3-40A6-9C1F-5DC4F7225556
AdventureWorks_child   472C4826-4278-4D29-9CBA-6586AC7FE418      OnPreExecute         8C43E096-63DF-4692-98E4-49E88D271734
本範例包含兩個子封裝記錄檔項目,從第一個範例。將項目有相同的 sourceID 資訊。 不過,將項目辨別藉由 使用者: 前置詞在欄位中的 事件,並由不同 executionID 項目。如果使用 SQL Server SSIS 記錄提供者記錄事件您可以使用下列的範例 Transact-SQL 陳述式來擷取子封裝的記錄檔資訊。
SELECT  top (4) source,sourceID,event,executionID
from sysdtslog90 
where event in ('onpreexecute','onpostexecute','user:onpreexecute','user:onpostexecute')
and Source in ('AdventureWorks_parent','AdventureWorks_child')
and sourceid='472C4826-4278-4D29-9CBA-6586AC7FE418'
order by starttime desc
附註這個 Transact-SQL 陳述式會使用 運算子。因此,Transact-SQL 陳述式查詢從最新的封裝執行只有最近記錄資料。

?考

如需有關如何擷取和解譯 SSIS 記錄提供者資料,請參閱下列 Microsoft SQL Server 2005 叢書連線 中的主題:
  • 「 執行封裝工作 」
  • 「 整合服務記錄提供者"
  • 「 實作在封裝中記錄"

這篇文章中的資訊適用於:
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Standard Edition
關鍵字:?
kbmt kbhowto kbsql2005ssis kbinfo KB906563 KbMtzh
機器翻譯機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:906563? (http://support.microsoft.com/kb/906563/en-us/ )
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。