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 v rámci Azure Data Factory
Important
Součásti toku CDC, včetně úlohy řízení CDC, zdroje CDC a rozdělovače CDC, jsou zastaralé. Podrobnosti najdete v oznámení.
Tento postup popisuje, jak definovat proměnnou balíčku, kde je uložen stav CDC.
Stavová proměnná CDC je načítána, inicializována a aktualizována úkolem CDC Control a používá ji komponenta CDC Source datového toku k určení aktuálního rozsahu zpracování pro záznamy změn. Stavová proměnná CDC může být definována v jakémkoli kontejneru společném pro úkol CDC Control a zdroj CDC. To může být na úrovni balíčku, ale může být i na jiných kontejnerech, například v kontejneru s cyklem.
Ruční úprava hodnoty stavové proměnné CDC se nedoporučuje, ale může být užitečná pro pochopení jejího obsahu.
Následující tabulka poskytuje všeobecný popis složek hodnoty stavové proměnné CDC.
| Součást | Description |
|---|---|
| <Název státu> | Toto je název současného státu CDC. |
| CS | To označuje počáteční bod aktuálního zpracovatelského rozsahu (Current Start). |
| <CS-LSN> | Toto je poslední (logové sekvenční číslo) LSN zpracované v předchozím běhu CDC. |
| CE | To označuje koncový bod aktuálního výpočetního rozsahu (Current End). Přítomnost komponenty CE ve státě CDC naznačuje, že buď balíček CDC právě zpracovává, nebo že balíček CDC selhal před plným zpracováním svého rozsahu CDC. |
| <CE-LSN> | Toto je poslední LSN zpracované v aktuálním běhu CDC. Vždy se předpokládá, že poslední pořadové číslo, které se zpracovává, je maximální (0xFFF...). |
| IR | To označuje počáteční rozsah zpracování. |
| <ir-start> | Jedná se o změnu LSN těsně před začátkem počátečního zatížení. |
| <ir-end> | Jedná se o LSN změny těsně po skončení počátečního zatížení. |
| TS | Toto označuje časové razítko poslední aktualizace státu CDC. |
| <Časové razítko> | Toto je desetinná reprezentace 64bitové vlastnosti System.DateTime.UtcNow. |
| ER | Objevuje se, když poslední operace selhala, a obsahuje krátký popis příčiny chyby. Pokud je tato složka přítomna, vždy se objeví jako poslední. |
| <krátký chybový text> | Toto je krátký popis chyby. |
LSN a sekvenční čísla jsou každé zakódovány jako šestnáctkový řetězec až 20 číslic reprezentující hodnotu LSN binárního(10).
Následující tabulka popisuje možné hodnoty stavů CDC.
| Kraj | Description |
|---|---|
| (INICIÁLA) | Toto je počáteční stav před tím, než byl jakýkoli balíček spuštěn na současné skupině CDC. To je také stav, kdy je stav CDC prázdný. |
| ILSTART (Počáteční načítání zahájeno) | Toto je stav, kdy počáteční načítací balíček začíná, po volání operace MarkInitialLoadStart do úlohy CDC Control. |
| ILEND (Počáteční načítání ukončeno) | Toto je stav, kdy počáteční načítací balíček úspěšně skončí po volání operace MarkInitialLoadEnd na úkol CDC Control. |
| ILUPDATE (Počáteční aktualizace načítání) | To je stav běhů balíčku aktualizace trickle feed po počátečním načtení, přičemž se stále zpracovává počáteční rozsah zpracování. Toto je po volání operace GetProcessingRange do úlohy CDC Control. Pokud používáte sloupec __$reprocessing, je nastaven na 1, což naznačuje, že balíček může znovu zpracovávat řádky již na cíli. |
| TFEND (Trickle-Feed aktualizace skončila) | Jedná se o očekávaný stav pro běžné spuštění CDC. Označuje, že předchozí spuštění bylo úspěšně dokončeno a že je možné spustit nové spuštění s novým rozsahem zpracování. |
| TFSTART | Toto je stav při ne-počátečním běhu balíčku aktualizace trickle feed, po volání operace GetProcessingRange do úlohy CDC Control. To znamená, že běžná jízda CDC je zahájena, ale neskončila nebo ještě neskončila, čistě (MarkProcessedRange). |
| TFREDO (Aktualizace Trickle-Feed přepracování) | Toto je stav GetProcessingRange, ke kterému dochází po TFSTART. To naznačuje, že předchozí průchod nebyl úspěšně dokončen. Pokud používáte sloupec __$reprocessing, je nastaven na 1, což naznačuje, že balíček může znovu zpracovávat řádky již na cíli. |
| ERROR | Skupina CDC je ve stavu CHYBA. |
Následují příklady hodnot státních proměnných podle CDC.
ILSTART/IR/0x0000162B158700000000//TS/2011-08-07T17:10:43.0031645/
ILSTART/IR/0x0000162B158700000000//TS/2011-08-07T17:10:43.0031645/
TFEND/CS/0x0000025B000001BC0003/TS/2011-07-17T12:05:58.1001145/
TFSTART/CS/0x0000030D000000AE0003/CE/0x0000159D1E0F01000000/TS/2011-08-09T05:30:43.9344900/
TFREDO/CS/0x0000030D000000AE0003/CE/0x0000159D1E0F01000000/TS/2011-08-09T05:30:59.5544900/
Pro definici stavové proměnné CDC
V SQL Server Data Tools otevřete balíček SQL Server 2019 Integration Services (SSIS), který obsahuje CDC flow, kde potřebujete definovat proměnnou.
Vyberte záložku Průzkumník balíčků a přidejte novou proměnnou.
Dej proměnné jméno, které rozpoznáš jako stavovou proměnnou.
Dáte proměnné typ String .
Nedávejte proměnné hodnotu jako součást její definice. Hodnota musí být nastavena úkolem CDC Control.
Pokud plánujete použít úlohu CDC Control s automatickou perzistencí stavu, proměnná stavu CDC se načte z tabulky stavů databáze, kterou určíte, a při změně hodnoty se aktualizuje zpět na tuto tabulku. Pro více informací o tabulce stavů viz CDC Control Task a CDC Control Task Editor.
Pokud nepoužíváte CDC Control s automatickou perzistencí stavu, musíte načíst hodnotu proměnné z persistentního úložiště, kde byla uložena při posledním spuštění balíčku, a zapsat ji zpět do persistentního úložiště po dokončení zpracování aktuálního rozsahu zpracování.