共用方式為


CDC 來源

CDC 來源會從 SQL Server 2014 變更資料表讀取一系列變更資料,並將變更傳遞給其他 SSIS 元件。

CDC 來源所讀取的變數資料範圍稱為 CDC 處理範圍,並且由目前資料流程啟動之前執行的 CDC 控制工作所決定。 CDC 處理範圍衍生自維護資料表群組之 CDC 處理狀態的封裝變數值。

CDC 來源會使用資料庫資料表、檢視或 SQL 陳述式,從 SQL Server 資料庫中擷取資料。

CDC 來源使用下列組態:

  • 存取 SQL Server CDC 資料庫的 SQL Server ADO.NET 連線管理員。 如需設定 CDC 來源連線的詳細資訊,請參閱 CDC 來源編輯器 ([連線管理員] 頁面)

  • 啟用 CDC 的資料表。

  • 所選資料表的擷取執行個體名稱 (如果 more-than-one 存在)。

  • 變更處理模式。

  • 做為決定 CDC 處理範圍之依據的 CDC 狀態封裝變數名稱。 CDC 來源不會修改該變數。

CDC 來源傳回的資料與 SQL Server CDC 函數 cdc.fn_cdc_get_all_changes_<擷取執行個體名稱>cdc.fn_cdc_get_net_changes_<擷取執行個體名稱> (如果有) 傳回的資料相同。 唯一的選擇性附加資料行是 __$initial_processing ,表示目前處理範圍是否可與資料表的初始載入重疊。 如需初始處理的詳細資訊,請參閱 CDC 控制工作

CDC 來源有一個一般輸出和一個錯誤輸出。

錯誤處理

CDC 來源有錯誤輸出。 此元件的錯誤輸出包含下列輸出資料行:

  • 錯誤碼:此值一律為 -1。

  • 錯誤資料行:造成錯誤 (用於轉換錯誤) 的來源資料行。

  • 錯誤資料列資料行:造成錯誤的記錄資料。

根據錯誤行為設定,CDC 來源支援在錯誤輸出中傳回擷取程序期間發生的錯誤 (資料轉換、截斷)。 如需詳細資訊,請參閱 CDC 來源編輯器 (錯誤輸出頁面)

資料類型支援

Microsoft 的 CDC 來源元件支援所有 SQL Server 資料類型,其可對應至正確的 SSIS 資料類型。

CDC 來源的疑難排解

以下包含 CDC 來源的疑難排解資訊。

使用此指令碼來隔離問題,並在 SQL Server Management Studio 中重現問題。

CDC 來源作業是由叫用 CDC 來源之前執行的 CDC 控制工作作業所控制。 CDC 控制工作會準備 CDC 狀態封裝變數的值,以包含開始和結束 LSN。 它所執行的功能相當於下列指令碼:

use <cdc-enabled-database-name>  
               declare @start_lsn binary(10), @end_lsn binary(10)  
               set @start_lsn = sys.fn_cdc_increment_lsn(  
                       convert(binary(10),'0x' + '<value-from-state-cs>', 1))  
               set @end_lsn =   
                       convert(binary(10),'0x' + '<value-from-state-ce>', 1)  
               select * from cdc.fn_cdc_get_net_changes_dbo_Table1(@start_lsn,  
@end_lsn, '<mode>')  

其中:

  • <啟用 cdc 的資料庫名稱> 是包含變更資料表的 SQL Server 資料庫名稱。

  • <cs 狀態值> 是在 CDC 狀態變數中顯示為 CS/<cs 狀態值>/ 的值 (CS 表示目前的處理範圍起點)。

  • <ce 狀態值> 是在 CDC 狀態變數中顯示為 CE/<cs 狀態值>/ 的值 (CE 表示目前的處理範圍終點)。

  • <模式>是 CDC 處理模式。 處理模式有下列其中一個值:[全部] 、[全部 (含舊值)] 、[淨] 、[淨 (含更新遮罩)] 、[淨 (含合併)] 。

此指令碼會協助您在 SQL Server Management Studio 中輕鬆重現問題及識別錯誤,以隔離問題。

SQL Server 錯誤訊息

SQL Server 可能會傳回下列訊息:

提供給程序或函數 cdc.fn_cdc_get_net_changes_<..> 的引數數量不足。

此錯誤並不表示缺少引數。 它表示 CDC 狀態變數中的開始或結束 LSN 值無效。

設定 CDC 來源

您可以透過程式設計方式或 SSIS 設計師來設定 CDC 來源。

如需詳細資訊,請參閱下列其中一個主題:

[進階編輯器] 對話方塊包含可以程式設計方式設定的屬性。

若要開啟 [進階編輯器] 對話方塊:

  • 在 SQL Server 2014 Integration Services (SSIS) 專案的[資料流程]畫面中,以滑鼠右鍵按一下 CDC 來源,然後選取 [顯示進階編輯器]。

如需可在 [進階編輯器] 對話方塊中設定之屬性的詳細資訊,請參閱 CDC 來源自訂屬性

本節內容