Sdílet prostřednictvím


Zdroj CDC

platí pro:SQL Server SSIS Integration Runtime ve službě Azure Data Factory

Důležitý

Součásti toku CDC, včetně úlohy řízení CDC, zdroje CDC a rozdělovače CDC, jsou zastaralé. Podrobnosti najdete v oznámení.

Zdroj Zachycování datových změn (CDC) načítá škálu dat změn z tabulek změn SQL Serveru a předává změny dalším komponentům SSIS.

Rozsah změn dat přečtených zdrojem CDC se nazývá oblast zpracování CDC a je určena úlohou řízení CDC, která se spouští před spuštěním aktuálního toku dat. Rozsah zpracování CDC je odvozen z hodnoty proměnné balíčku, která udržuje stav zpracování CDC pro skupinu tabulek.

Zdroj CDC extrahuje data z databáze SQL Serveru pomocí databázové tabulky, zobrazení nebo příkazu SQL.

Zdroj CDC používá následující konfigurace:

  • Správce připojení SQL Serveru ADO.NET pro přístup k databázi CDC SQL Serveru. Další informace o konfiguraci připojení ke zdroji CDC naleznete v tématu CDC Source Editor (stránka Správce připojení).

  • Tabulka aktivovaná pro CDC.

  • Název instance zachycení vybrané tabulky (pokud existuje více než jedna).

  • Režim zpracování změn.

  • Název proměnné balíčku stavu CDC, na jehož základě se určuje rozsah zpracování CDC. Zdroj CDC neupravuje danou proměnnou.

Data, která vrací zdroj CDC, jsou stejná jako data vrácená funkcemi CDC systému SQL Server cdc.fn_cdc_get_all_changes_<název instance zachycení> nebo cdc.fn_cdc_get_net_changes_<název instance zachycení> (pokud je k dispozici). Jediným volitelným přidáním je sloupec, __$initial_processing, který označuje, jestli se aktuální rozsah zpracování může překrývat s počátečním zatížením tabulky. Další informace o počátečním zpracování naleznete v tématu úlohy řízení CDC.

Zdroj CDC má jeden běžný výstup a jeden chybný výstup.

Zpracování chyb

Zdroj CDC má chybný výstup. Výstup chyby komponenty obsahuje následující výstupní sloupce:

  • Kód chyby: Hodnota je vždy -1.

  • Chybový sloupec: Zdrojový sloupec způsobující chybu (pro chyby při převodu).

  • Sloupce chybových řádků: Záznamová data, která způsobují chybu.

V závislosti na nastavení chování chyby zdroj CDC podporuje vrácení chyb (převod dat, zkrácení), ke kterým dochází během procesu extrakce ve výstupu chyby.

Podpora datových typů

Zdrojová komponenta CDC pro Microsoft podporuje všechny datové typy SQL Serveru, které jsou mapovány na správné datové typy SSIS.

Řešení potíží se zdrojem CDC

Následující informace obsahují informace o řešení potíží se zdrojem CDC.

Pomocí tohoto skriptu můžete izolovat problémy a reprodukovat je v aplikaci SQL Server Management Studio.

Zdrojová operace CDC se řídí operací úlohy řízení CDC spuštěnou před vyvoláním zdroje CDC. Úloha ovládání CDC připraví hodnotu proměnné balíčku stavu CDC tak, aby obsahovala počáteční a koncové LSN. Provádí funkci ekvivalentní následujícímu skriptu:

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>')  

kde:

  • <název databáze s podporou cdc-enabled-database> je název databáze SYSTÉMU SQL Server obsahující tabulky změn.

  • <value-from-state-cs> je hodnota, která se zobrazí v proměnné stavu CDC jako CS/<value-from-state-cs>/ (CS je zkratka pro aktuální rozmezí zpracování - začátek).

  • <value-from-state-ce> je hodnota, která se zobrazí v proměnné stavu CDC jako hodnota CE/<value-from-state-cs>/ (CE je zkratka current-processing-range-End).

  • <režim> jsou režimy zpracování CDC. Režimy zpracování mají jednu z následujících hodnot Vše, Vše se starými hodnotami, Čisté, Čisté s maskou aktualizace, Čisté s slučovací maskou.

Tento skript pomáhá izolovat problémy tím, že je reprodukovat v aplikaci SQL Server Management Studio, kde je snadné reprodukovat a identifikovat chyby.

Chybová zpráva SQL Serveru

SQL Server může vrátit následující zprávu:

Byl zadán nedostatečný počet argumentů pro proceduru nebo funkci cdc.fn_cdc_get_net_changes_<..>.

Tato chyba neznamená, že chybí argument. To znamená, že počáteční nebo koncové hodnoty LSN v proměnné stavu CDC jsou neplatné.

Konfigurace zdroje CDC

Zdroj CDC můžete nakonfigurovat programově nebo prostřednictvím Návrháře služby SSIS.

Další informace najdete v jednom z následujících témat:

Dialogové okno Rozšířený editor obsahuje vlastnosti, které lze nastavit programově.

Otevření dialogového okna Rozšířený editor:

  • Na obrazovce Tok dat projektu SSIS (SQL Server 2019 Integration Services) klikněte pravým tlačítkem myši na zdroj CDC a vyberte Zobrazit rozšířený editor.

Další informace o vlastnostech, které můžete nastavit v dialogovém okně Rozšířený editor, naleznete v tématu vlastní vlastnosti zdroje CDC.

V této části

Editor zdrojového kódu CDC (stránka Správce připojení)

Pomocí stránky Správce připojení v dialogovém okně Editor zdrojů CDC vyberte správce připojení ADO.NET pro databázi SQL Server, ze které zdroj CDC čte změnové řádky (databáze CDC). Jakmile vyberete databázi CDC, musíte v databázi vybrat zachycenou tabulku.

Další informace o zdroji CDC naleznete v tématu CDC Source.

Seznam úkolů

Otevření stránky Správce připojení ke zdrojovému editoru CDC

  1. V nástrojích SQL Server Data Tools otevřete balíček SSIS (SQL Server 2019 Integration Services), který má zdroj CDC.

  2. Na kartě Tok dat poklikejte na zdroj CDC.

  3. V editoru zdrojů CDC klikněte na Správce připojení.

Možnosti

Správce připojení ADO.NET
V seznamu vyberte existujícího správce připojení nebo kliknutím na Nový vytvořte nové připojení. Připojení musí být k databázi SYSTÉMU SQL Server, která je povolená pro CDC a kde se nachází vybraná tabulka změn.

Nový
Klikněte na Nový. Otevře se dialogové okno Konfigurace editoru ADO.NET Správce připojení, kde můžete vytvořit nového správce připojení.

Tabulka CDC
Vyberte zdrojovou tabulku CDC, která obsahuje zachycené změny, které chcete přečíst a vložit do podřízených komponent služby SSIS ke zpracování.

instance Capture
Vyberte nebo zadejte název instance CDC pro zachycení, která obsahuje tabulku CDC, jež má být přečtena.

Zachycená zdrojová tabulka může mít jednu nebo dvě zachycené instance pro zpracování bezproblémového přechodu definice tabulky prostřednictvím změn schématu. Pokud je pro zachytávání zdrojové tabulky definováno více instancí zachycení, vyberte zde požadovanou instanci zachycení. Výchozí název instance zachycení pro tabulku [schema]. [table] je <schématu>_<tabulka>, ale skutečné názvy instancí zachycení používané mohou být jiné. Skutečná tabulka, ze které se čte, je tabulka CDC .<capture-instance>_CT.

Režim zpracování CDC
Vyberte režim zpracování, který nejlépe zpracovává vaše potřeby zpracování. Možné možnosti:

  • Všechny: Zobrazí změny v současném rozsahu CDC s vyloučením hodnot Před aktualizací.

  • Vše se starými hodnotami: Vrátí změny v aktuálním rozsahu zpracování CDC, včetně starých hodnot (Před aktualizací). Pro každou operaci aktualizace budou dva řádky, jeden s hodnotami před aktualizací a jeden s hodnotou po aktualizaci.

  • Net: Vrátí pouze jeden řádek změn na zdrojový řádek upravený v aktuálním rozsahu zpracování pomocí CDC. Pokud se zdrojový řádek aktualizoval několikrát, vytvoří se kombinovaná změna (například insert+update se vytvoří jako jedna aktualizace a aktualizace+odstranění se vytvoří jako jedno odstranění). Při práci v režimu zpracování změn net je možné rozdělit změny na výstupy Delete, Insert a Update a zpracovávat je paralelně, protože jeden zdrojový řádek se zobrazí ve více než jednom výstupu.

  • Net s maskou aktualizace: Tento režim se podobá běžnému režimu Net, ale přidává také logické sloupce se vzorem názvů __$<název sloupce>__Changed, které označují změněné sloupce v aktuálním řádku změn.

  • Net se sloučením: Tento režim je podobný běžnému režimu Net, ale kombinuje operace Vložení a Aktualizace do jedné operace Sloučení (UPSERT).

Poznámka

U všech možností změn sítě musí mít zdrojová tabulka primární klíč nebo jedinečný index. U tabulek bez primárního klíče nebo jedinečných indexů je nutné použít možnost Všechny.

Proměnná obsahující stav CDC
Vyberte proměnnou balíčku řetězce SSIS, která udržuje stav CDC pro aktuální kontext CDC. Další informace o proměnné stavu CDC naleznete v tématu Definovat stavovou proměnnou.

Zahrnout sloupec indikátoru opětovného zpracování
Zaškrtnutím tohoto políčka vytvoříte speciální výstupní sloupec s názvem __$reprocessing.

Tento sloupec má hodnotu true, když se rozsah zpracování CDC překrývá s počátečním rozsahem zpracování (rozsah sítí LSN odpovídající období počátečního zatížení) nebo při opětovném zpracování rozsahu zpracování CDC po chybě v předchozím spuštění. Tento sloupec ukazatele umožňuje vývojáři služby SSIS zpracovávat chyby jinak při opětovném zpracování změn (například akce, jako je odstranění neexistujícího řádku a vložení, které selhalo u duplicitního klíče, je možné ignorovat).

Další informace naleznete v tématu CDC Source Custom Properties.

Editor zdrojového kódu CDC (stránka sloupců)

Pomocí stránky Sloupce v dialogovém okně Editoru zdrojů CDC namapujte výstupní sloupec na každý externí (zdrojový) sloupec.

Seznam úkolů

Otevřete stránku sloupců zdrojového editoru CDC

  1. V nástrojích SQL Server Data Tools otevřete balíček SSIS (SQL Server 2019 Integration Services), který má zdroj CDC.

  2. Na kartě Tok dat poklikejte na zdroj CDC.

  3. V editoru zdroje CDCklikněte na sloupce.

Možnosti

Dostupné externí sloupce
Seznam dostupných externích sloupců ve zdroji dat Tuto tabulku nelze použít k přidání nebo odstranění sloupců. Vyberte sloupce, které chcete použít ve zdroji. Vybrané sloupce se přidají do seznamu Externí sloupec v pořadí, v jakém jsou vybrané.

vnější sloupec
Zobrazení externích (zdrojových) sloupců v pořadí, v jakém je vidíte při konfiguraci komponent, které spotřebovávají data ze zdroje CDC. Pokud chcete toto pořadí změnit, nejdřív vymažte vybrané sloupce v seznamu Dostupné externí sloupce a pak vyberte externí sloupce ze seznamu v jiném pořadí. Vybrané sloupce se přidají do seznamu Externí sloupec v pořadí, v jakém je vyberete.

Výstupní sloupec
Zadejte jedinečný název pro každý výstupní sloupec. Výchozí hodnota je název vybraného externího (zdrojového) sloupce, ale můžete zvolit libovolný jedinečný popisný název. Zadaný název se zobrazí v návrháři SSIS.

Editor zdrojového kódu CDC (stránka výstupu chyby)

Pomocí stránky Výstup chyby dialogového okna Editoru zdrojového kódu CDC vyberte možnosti zpracování chyb.

Seznam úkolů

Otevřít stránku výstupu editoru zdrojového kódu CDC

  1. V nástrojích SQL Server Data Tools otevřete balíček SSIS (SQL Server 2019 Integration Services), který má zdroj CDC.

  2. Na kartě Tok dat poklikejte na zdroj CDC.

  3. V editoru zdroje CDCklikněte na Chybový výstup.

Možnosti

vstupní/výstupní
Zobrazí název zdroje dat.

sloupce
Zobrazte externí (zdrojové) sloupce, které jste vybrali na stránce správce připojení v dialogovém okně editoru zdrojů CDC.

Chyba
Vyberte, jak má zdroj CDC zpracovávat chyby v toku: ignorujte selhání, přesměrujte řádek nebo selhání komponenty.

zkrácení
Vyberte, jak by měl zdroj CDC v toku řešit zkrácení: ignorujte selhání, přesměrujte řádek, nebo nechte komponentu selhat.

popis
Nepoužívá se.

Tuto hodnotu nastavte na vybrané buňky
Vyberte, jak zdroj CDC zpracovává všechny vybrané buňky v případě chyby nebo oříznutí: ignorujte chybu, přesměrujte řádek nebo selže komponenta.

Použít
Použijte možnosti zpracování chyb u vybraných buněk.

Možnosti zpracování chyb

Pomocí následujících možností můžete nakonfigurovat, jak zdroj CDC zpracovává chyby a zkrácení.

Selhání součásti
Úloha toku dat selže, když dojde k chybě nebo zkrácení. Toto je výchozí chování.

ignorovat chybu
Chyba nebo zkrácení se ignoruje a řádek dat se přesměruje na zdrojový výstup CDC.

Přesměrování toku
Chyba nebo řádek zkrácených dat se přesměrují na výstup chyby zdroje CDC. V tomto případě se použije zpracování chyb podle zdroje CDC. Další informace najdete ve zdroji CDC.