Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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í.
Úloha řízení CDC se používá k řízení životního cyklu balíčků CDC (change data capture). Zajišťuje synchronizaci balíčku CDC s počátečním načítacím balíčkem a také řízení rozsahů pořadových čísel protokolu (LSN), které jsou zpracovávány při spuštění balíčku CDC. Kromě toho úloha řízení CDC řeší chybové scénáře a obnovení.
Úloha řízení CDC udržuje stav balíčku CDC v proměnné balíčku SSIS a může jej také uchovat v tabulce databáze, aby se stav zachoval napříč aktivacemi balíčků a mezi několika balíčky, které dohromady provádějí společný proces CDC (například jedna úloha může být odpovědná za počáteční načítání a druhá za průběžné aktualizace).
Úloha řízení CDC podporuje dvě skupiny operací. Jedna skupina zpracovává synchronizaci počátečního načítání a zpracování změn a druhá spravuje rozsah zpracování změn sítí LSN pro spuštění balíčku CDC a sleduje, co bylo úspěšně zpracováno.
Následující operace zpracovávají synchronizaci počátečního načtení a zpracování změn:
| Operace | Popis |
|---|---|
| ResetCdcState | Tato operace slouží k resetování trvalého stavu CDC přidruženého k aktuálnímu kontextu CDC. Po spuštění této operace se aktuální maximální hodnota LSN z tabulky časového razítka sys.fn_cdc_get_max_lsn LSN stane začátkem rozsahu pro další rozsah zpracování. Tato operace vyžaduje připojení ke zdrojové databázi. |
| MarkInitialLoadStart | Tato operace se používá na začátku balíčku počátečního načtení k zaznamenání aktuálního LSN ve zdrojové databázi předtím, než balíček pro počáteční načtení začne číst zdrojové tabulky. To vyžaduje připojení ke zdrojové databázi k volání sys.fn_cdc_get_max_lsn.Pokud při práci na SQL Serveru CDC (tedy ne Oracle) vyberete MarkInitialLoadStart, musí být uživatel zadaný ve správci připojení buď db_owner, nebo správce systému. |
| Ukončení Počátečního Načítání | Tato operace se používá na konci procesu počátečního načtení k zaznamenání aktuálního LSN ve zdrojové databázi poté, co balíček dokončil čtení zdrojových tabulek. Tento LSN je určeno záznamem aktuálního času, kdy k této operaci došlo, a následným dotazem cdc.lsn_time_ tabulky mapování v databázi CDC, hledajíc změnu, ke které došlo po této době.Pokud vyberete MarkInitialLoadEnd při práci na SQL Serveru CDC (to znamená , ne Oracle), musí být uživatel zadaný ve správci připojení db_owner nebo správce systému. |
| MarkCdcStart | Tato operace se použije, když se z databáze snímků provádí počáteční načtení. V takovém případě by se mělo zpracování změn spustit hned po snímku LSN. Můžete zadat název databáze snímků, která se má použít, a úloha řízení CDC dotazuje SQL Server na snímek LSN. Máte také možnost přímo zadat snímek LSN. Pokud vyberete MarkCdcStart při práci na SQL Serveru CDC (to znamená , ne Oracle), musí být uživatel zadaný ve správci připojení buď db_owner, nebo správce systému. |
Ke správě rozsahu zpracování se používají následující operace:
| Operace | Popis |
|---|---|
| ZískatRozsahZpracování | Tato operace se používá před spuštěním toku dat, který využívá datový tok CDC Source. Vytvoří rozsah sítí LSN, které zdrojový tok dat CDC při vyvolání čte. Rozsah je uložen v proměnné balíčku SSIS, která je používána zdrojem CDC během zpracování toku dat. Další informace o uložených stavech naleznete v tématu Definování stavové proměnné. |
| OznačitZpracovanýRozsah | : Tato operace se spustí po každém spuštění CDC (po úspěšném dokončení toku dat CDC) k zaznamenání posledního LSN, který byl plně zpracován při spuštění CDC. Při příštím spuštění GetProcessingRange je tato pozice začátkem rozsahu zpracování. |
Zpracování udržování stavu CDC
Úloha řízení CDC udržuje trvalý stav mezi aktivacemi. Informace uložené ve stavu CDC slouží k určení a údržbě rozsahu zpracování balíčku CDC a k detekci chybových podmínek. Trvalý stav se uloží jako řetězec. Další informace naleznete v tématu Definování stavové proměnné.
Úloha řízení CDC podporuje dva typy zachování stavu.
Ruční zachování stavu: V tomto případě úloha řízení CDC spravuje stav uložený v proměnné balíčku, ale vývojář balíčku musí před voláním ovládacího prvku CDC přečíst proměnnou z trvalého úložiště a potom ji zapsat zpět do tohoto trvalého úložiště po posledním zavolání ovládacího prvku CDC a spuštění CDC se dokončí.
Automatická trvalost stavu: Stav CDC je uložen v tabulce v databázi. Stav je uložen pod názvem zadaným ve vlastnosti StateName v tabulce určené ve vlastnosti Tabulka pro ukládání stavu, která se nachází ve vybraném správci připojení pro ukládání stavu. Výchozí hodnotou je správce zdrojového připojení, ale běžným postupem je, že se jedná o správce cílových připojení. Úloha CDC Control aktualizuje stavovou hodnotu v tabulce stavů a je potvrzena jako součást prováděné transakce.
Zpracování chyb
Úloha ovládacího prvku CDC může hlásit chybu v následujících případech:
Nepřečte trvalý stav CDC nebo při aktualizaci trvalého stavu selže.
Nepodaří se přečíst aktuální informace LSN ze zdrojové databáze.
Čtení stavu CDC není konzistentní.
Ve všech těchto případech úloha řízení CDC hlásí chybu, kterou je možné zpracovat standardním způsobem, který služba SSIS zpracovává chyby toku řízení.
Úloha CDC Control může také hlásit upozornění při vyvolání operace Get Processing Range přímo po jiné operaci Get Processing Range, aniž by byly označeny zpracované rozsahy. To značí, že předchozí spuštění selhalo nebo že jiný balíček CDC může běžet pomocí stejného názvu stavu CDC.
Konfigurace úlohy řízení CDC
Vlastnosti můžete nastavit prostřednictvím návrháře SSIS nebo programově.
V této sekci
Související úkoly
Související obsah
Technický článek, Instalace Microsoft SQL Server 2012, Change Data Capture for Oracle by Attunity, na social.technet.microsoft.com.
Technický článek, Řešení potíží s konfigurací v nástroji Microsoft Change Data Capture for Oracle by Attunity, na social.technet.microsoft.com.
Technický článek, Řešení chyb instance CDC v nástroji Microsoft Change Data Capture pro Oracle by Attunity, na social.technet.microsoft.com.
Editor úloh řízení CDC
Pomocí dialogového okna Editor úloh ovládacího prvku CDC nakonfigurujte úlohu řízení CDC. Konfigurace úlohy řízení CDC zahrnuje definování připojení k databázi CDC, operaci úlohy CDC a informace o správě stavu.
Další informace o úloze řízení CDC naleznete v tématu CDC – úloha řízení.
Otevření editoru úloh ovládacího prvku CDC
V nástrojích SQL Server Data Tools otevřete balíček SSIS (SQL Server 2019 Integration Services), který má úlohu řízení CDC.
Na kartě Tok řízení poklikejte na úlohu řízení CDC.
Možnosti
Správce připojení ADO.NET k databázi CDC SQL Serveru
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.
Operace řízení CDC
Vyberte operaci, která se má pro tuto úlohu spustit. Všechny operace používají proměnnou stavu uloženou v proměnné balíčku SSIS, která ukládá stav a předává ji mezi různými komponentami balíčku.
Označit začátek počátečního načítání: Tato operace se používá při spuštění počátečního načtení z aktivní databáze bez snímku. Vyvolá se na začátku balíčku počátečního načtení, který zaznamená aktuální LSN ve zdrojové databázi předtím, než balíček počátečního načtení začne číst zdrojové tabulky. To vyžaduje připojení ke zdrojové databázi.
Pokud pro SQL Server CDC (tedy ne Oracle) vyberete Označit počáteční načtení, musí být uživatel zadaný ve správci připojení buď db_owner, nebo sysadmin.
Označit konec počátečního načtení: Tato operace se používá při provádění počátečního načtení z aktivní databáze bez snímku. Vyvolá se na konci balíčku počátečního načtení, aby zaznamenal aktuální LSN ve zdrojové databázi poté, co balíček dokončí čtení zdrojových tabulek. Tento LSN je určen zaznamenáním aktuálního času, kdy k této operaci došlo, a následným dotazováním tabulky mapování v databázi CDC za účelem nalezení změny, ke které došlo po této době.
Pokud při práci na SQL Serveru CDC (tedy ne na Oracle) vyberete Označit konec počátečního načtení, uživatel zadaný ve správci připojení musí být buď db_owner nebo sysadmin.
Označit spuštění CDC: Tato operace se použije, když se počáteční načtení vytvoří ze snímkové databáze nebo z nečinné databáze. Vyvolá se kdykoli v rámci balíčku pro počáteční načtení. Operace přijímá parametr, který může být snímek LSN, název snapshot databáze (ze kterého bude snímek LSN automaticky odvozen) nebo může zůstat prázdný, v takovém případě se aktuální databáze LSN použije jako počáteční LSN pro balíček pro zpracování změn.
Tato operace se používá místo operací Označení začátku/konce počátečního načítání.
Pokud vyberete Označit Start CDC při práci se SQL Serverem CDC, ale ne s Oracle, musí být uživatel zadaný ve správci připojení buď jako db_owner, nebo jako správce systému.
Získání rozsahu zpracování: Tato operace se používá v balíčku pro zpracování změn před vyvoláním toku dat, který používá tok dat zdroje CDC. Vytvoří rozsah sítí LSN, které zdrojový tok dat CDC při vyvolání čte. Rozsah je uložen v proměnné balíčku SSIS, která je používána zdrojem CDC během zpracování toku dat.
Další informace o možných stavech CDC, které jsou uloženy, naleznete v tématu Definování stavové proměnné.
Označit zpracovaný rozsah: Tato operace se používá v balíčku pro zpracování změn na konci spuštění CDC (po úspěšném dokončení toku dat CDC) k zaznamenání posledního LSN, který byl plně zpracován při spuštění CDC. Při příštím
GetProcessingRangespuštění určuje tato pozice začátek dalšího rozsahu zpracování.Resetovat stav CDC: Tato operace slouží k resetování trvalého stavu CDC přidruženého k aktuálnímu kontextu CDC. Po spuštění této operace se aktuální maximální hodnota LSN z tabulky časového razítka
sys.fn_cdc_get_max_lsnLSN stane začátkem rozsahu pro další rozsah zpracování. Tato operace vyžaduje připojení ke zdrojové databázi.Příkladem použití této operace je, když chcete zpracovat pouze nově vytvořené záznamy změn a ignorovat všechny staré záznamy změn.
Proměnná obsahující stav CDC
Vyberte proměnnou balíčku SSIS, která ukládá informace o stavu pro operaci úlohy. Než začnete, měli byste definovat proměnnou. Pokud vyberete automatickou trvalost stavu, proměnná stavu se načte a uloží automaticky.
Další informace o definování proměnné stavu naleznete v tématu Definování stavové proměnné.
Sql Server LSN pro spuštění názvu CDC/Snapshot:
Zadejte aktuální zdrojová databáze LSN nebo název databáze snímků, ze které se provádí počáteční načtení, a určete, kde cdC začíná. Tato možnost je dostupná pouze v případě, že je operace ovládacího prvku CDC nastavená na Označit spuštění CDC.
Další informace o těchto operacích naleznete v tématu CDC – úloha řízení
Automatické ukládání stavu v tabulce databáze
Toto políčko zaškrtněte, pokud chcete, aby úloha řízení CDC automaticky zpracovávala načítání a ukládaly stav CDC do stavové tabulky obsažené v zadané databázi. Pokud není tato možnost vybraná, musí vývojář při spuštění balíčku načíst stav CDC a uložit ho při každé změně stavu CDC.
Správce připojení pro databázi, ve které je uložený stav
V seznamu vyberte existujícího správce připojení ADO.NET nebo kliknutím na tlačítko Nový vytvořte nové připojení. Toto připojení je k databázi SQL Serveru, která obsahuje tabulku State. Tabulka State obsahuje informace o státu.
Tato možnost je k dispozici pouze v případě, že je vybrána automatická trvalost stavu a jedná se o povinný parametr.
Tabulka, která se má použít pro ukládání stavu
Zadejte název stavové tabulky, která se má použít k uložení stavu CDC. Zadaná tabulka musí mít dva sloupce s názvem název a stav a oba sloupce musí mít datový typ varchar (256).
Volitelně můžete vybrat Možnost Nový a získat skript SQL, který sestaví novou tabulku State s požadovanými sloupci. Při výběru automatické trvalosti stavu musí vývojář vytvořit tabulku stavů podle výše uvedených požadavků.
Tato možnost je k dispozici pouze v případě, že je vybrána automatická trvalost stavu a jedná se o povinný parametr.
Název státu
Zadejte název, který chcete přidružit k trvalému stavu CDC. Úplné načtení dat a balíčky CDC, které fungují se stejným kontextem CDC, určují společný název stavu. Tento název slouží k vyhledání řádku stavu v tabulce stavů.