Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
van toepassing op:SQL Server
SSIS Integration Runtime in Azure Data Factory
Belangrijk
CDC-stroomonderdelen, waaronder CDC-besturingstaak, CDC-bron en CDC-splitter, zijn verouderd verklaard. Raadpleeg de aankondigingvoor meer informatie.
De CDC-bron leest een reeks wijzigingsgegevens uit SQL Server-wijzigingstabellen en levert de wijzigingen downstream naar andere SSIS-onderdelen.
Het bereik van wijzigingsgegevens dat door de CDC-bron wordt gelezen, wordt het CDC-verwerkingsbereik genoemd en wordt bepaald door de CDC-besturingstaak die wordt uitgevoerd voordat de huidige gegevensstroom wordt gestart. Het CDC-verwerkingsbereik wordt afgeleid van de waarde van een pakketvariabele die de status van de CDC-verwerking voor een groep tabellen behoudt.
De CDC-bron extraheert gegevens uit een SQL Server-database met behulp van een databasetabel, een weergave of een SQL-instructie.
De CDC-bron maakt gebruik van de volgende configuraties:
Een SQL Server ADO.NET verbindingsbeheer voor toegang tot de SQL Server CDC-database.
Een tabel die is ingeschakeld voor CDC.
De naam van het vastleggingsexemplaar van de geselecteerde tabel (als er meer dan één bestaat).
De wijzigingsverwerkingsmodus.
De naam van de CDC state package-variabele waarop het verwerkingsgebied van CDC is gebaseerd. De CDC-bron wijzigt die variabele niet.
De gegevens die door de CDC-bron worden geretourneerd, zijn hetzelfde als de gegevens die worden geretourneerd door de SQL Server CDC-functies cdc.fn_cdc_get_all_changes_<capture-instance-name> of cdc.fn_cdc_get_net_changes_<capture-instance-name> (indien beschikbaar). De enige optionele toevoeging is de kolom __$initial_processing die aangeeft of het huidige verwerkingsbereik kan overlappen met een eerste belasting van de tabel. Zie CDC-besturingstaak voor meer informatie over de eerste verwerking.
De CDC-bron heeft één normale uitvoer en één foutuitvoer.
Foutafhandeling
De CDC-bron heeft een foutmelding. De foutuitvoer van het onderdeel bevat de volgende uitvoerkolommen:
Foutcode: De waarde is altijd -1.
foutkolom: de bronkolom die de fout veroorzaakt (voor conversiefouten).
Foutregelkolommen: de gegevens van het record die de fout veroorzaken.
Afhankelijk van de instelling voor foutgedrag ondersteunt de CDC-bron het retourneren van fouten (gegevensconversie, afkapping) die optreden tijdens het extractieproces in de foutuitvoer.
Ondersteuning voor gegevenstypen
Het CDC-brononderdeel voor Microsoft ondersteunt alle SQL Server-gegevenstypen, die zijn toegewezen aan de juiste SSIS-gegevenstypen.
Problemen met de CDC-bron oplossen
Hieronder vindt u informatie over het oplossen van problemen met de CDC-bron.
Gebruik dit script om problemen te isoleren en te reproduceren in SQL Server Management Studio
De werking van de CDC-bron wordt bestuurd door de CDC-beheertaak die wordt uitgevoerd voordat de CDC-bron wordt aangeroepen. De CDC-controletaak bereidt de waarde van de CDC-staatpakketvariabele voor om de begin- en eind-LSN's te bevatten. Het voert een functie uit die gelijk is aan het volgende script:
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>')
waarbij geldt:
<cdc-enabled-database-name> is de naam van de SQL Server-database die de wijzigingstabellen bevat.
<value-from-state-cs> is de waarde die wordt weergegeven in de CDC-statusvariabele als CS/<value-from-state-cs>/ (CS staat voor Current-processing-range-Start).
<value-from-state-ce> is de waarde die wordt weergegeven in de CDC-statusvariabele als CE/<value-from-state-cs>/ (CE staat voor Current-processing-range-End).
<modi> zijn de verwerkingsmodi van de CDC. De verwerkingsmodi hebben een van de volgende waarden : Allemet Oude waarden, Net, Net met Updatemasker, Net met Samenvoegen.
Dit script helpt bij het isoleren van problemen door ze te reproduceren in SQL Server Management Studio, waar u eenvoudig fouten kunt reproduceren en identificeren.
SQL Server-foutbericht
Het volgende bericht kan worden geretourneerd door SQL Server:
Er zijn onvoldoende argumenten opgegeven voor de procedure of functie cdc.fn_cdc_get_net_changes_<..>
Deze fout geeft niet aan dat er een argument ontbreekt. Dit betekent dat de LSN-waarden voor begin- of eindwaarden in de CDC-statusvariabele ongeldig zijn.
De CDC-bron configureren
U kunt de CDC-bron programmatisch of via de SSIS Designer configureren.
Zie een van de volgende onderwerpen voor meer informatie:
Het dialoogvenster Geavanceerde editor bevat de eigenschappen die programmatisch kunnen worden ingesteld.
Om het dialoogvenster Geavanceerde editor te openen:
- Klik in het scherm Gegevensstroom van uw SSIS-project (SQL Server 2019 Integration Services) met de rechtermuisknop op de CDC-bron en selecteer Geavanceerde editor weergeven.
Zie CDC-bron Aangepaste Eigenschappen voor meer informatie over de eigenschappen die u kunt instellen in het dialoogvenster Geavanceerde editor.
In deze sectie
CDC-broneditor (Verbindingsbeheerder-pagina)
Gebruik de pagina Verbindingsbeheer van het dialoogvenster CDC-broneditor om het ADO.NET verbindingsbeheer voor de SQL Server-database te selecteren waaruit de CDC-bron veranderingsrijen leest (de CDC-database). Zodra de CDC-database is geselecteerd, moet u een vastgelegde tabel in de database selecteren.
Zie CDC-bron voor meer informatie over de CDC-bron.
Takenlijst
De verbindingsbeheerpagina van de CDC-broneditor openen
Open in SQL Server Data Tools het SSIS-pakket (SQL Server 2019 Integration Services) met de CDC-bron.
Dubbelklik op het tabblad Gegevensstroom op de CDC-bron.
Klik in de CDC-broneditor op Verbindingsbeheer.
Opties
ADO.NET verbindingsbeheer
Selecteer een bestaand verbindingsbeheer in de lijst of klik op Nieuwe om een nieuwe verbinding te maken. De verbinding moet zijn met een SQL Server-database die is ingeschakeld voor CDC en waar de geselecteerde wijzigingstabel zich bevindt.
Nieuw
Klik op Nieuw. Het dialoogvenster Editor voor ADO.NET verbindingsbeheer configureren wordt geopend, waar u een nieuw verbindingsbeheer kunt maken
CDC-tabel
Selecteer de CDC-brontabel met de vastgelegde wijzigingen die u wilt lezen en feeden naar downstream SSIS-onderdelen voor verwerking.
Exemplaar vastleggen
Selecteer of typ de naam van het CDC Capture-exemplaar met de CDC-tabel die moet worden gelezen.
Een vastgelegde brontabel kan één of twee vastgelegde exemplaren hebben om naadloze overgangen van tabeldefinities te verwerken via schemawijzigingen. Als er meer dan één capture-instantie is gedefinieerd voor de brontabel die wordt geregistreerd, selecteert u de capture-instantie die u hier wilt gebruiken. De standaardnaam van het vastleg-exemplaar voor een tabel [schema].[tabel] is <schema>_<tabel>, maar de actuele namen voor vastleg-exemplaren in gebruik kunnen verschillen. De werkelijke tabel waaruit wordt gelezen, is de CDC-tabel cdc.<capture-instance>_CT.
CDC-verwerkingsmodus
Selecteer de verwerkingsmodus die het beste uw verwerkingsbehoeften afhandelt. De mogelijke opties zijn:
Alle: retourneert de wijzigingen in het huidige CDC-bereik zonder de 'Voor Update' waarden.
Allemaal met oude waarden: retourneert de wijzigingen in het huidige CDC-verwerkingsbereik, inclusief de oude waarden (vóór update). Voor elke updatebewerking zijn er twee rijen, één met de waarden vóór bijwerken en één met de waarde na de update.
Net: retourneert slechts één wijzigingsrij per bronrij die is gewijzigd in het huidige CDC-verwerkingsbereik. Als een bronrij meerdere keren is bijgewerkt, wordt de gecombineerde wijziging geproduceerd (bijvoorbeeld insert+update wordt geproduceerd als één update en wordt update+delete geproduceerd als één verwijderbewerking). Wanneer u werkt in de verwerkingsmodus voor netwijzigingen, is het mogelijk om de wijzigingen in de uitvoer verwijderen, invoegen en bijwerken op te splitsen en parallel te verwerken omdat de rij met één bron in meer dan één uitvoer wordt weergegeven.
Net met updatemasker: deze modus is vergelijkbaar met de normale Net-modus, maar voegt ook booleaanse kolommen toe met het naampatroon __$<column-name>__Changed die wijzen op gewijzigde kolommen in de huidige wijzigingsrij.
Net met samenvoegen: deze modus is vergelijkbaar met de normale netmodus, maar met insert- en updatebewerkingen samengevoegd in één samenvoegbewerking (UPSERT).
Opmerking
Voor alle netto wijzigingsopties moet de brontabel een primaire sleutel of unieke index hebben. Voor tabellen zonder primaire sleutel of unieke indexen moet u de optie Alles gebruiken.
variabele met de CDC-status
Selecteer de SSIS-stringpakketvariabele die de CDC-status voor de huidige CDC-context onderhoudt. Zie Een statusvariabele definiëren voor meer informatie over de CDC-statusvariabele.
Indicatorkolom voor opnieuw verwerken opnemen
Schakel dit selectievakje in om een speciale uitvoerkolom met de naam __$reprocessing te maken.
Deze kolom heeft een waarde van true wanneer het CDC-verwerkingsbereik overlapt met het eerste verwerkingsbereik (het bereik van LSN's dat overeenkomt met de periode van initiële belasting) of wanneer een CDC-verwerkingsbereik opnieuw wordt verwerkt na een fout in een eerdere uitvoering. Met deze indicatorkolom kan de SSIS-ontwikkelaar fouten anders afhandelen bij het opnieuw verwerken van wijzigingen (bijvoorbeeld acties zoals verwijderen van een niet-bestaande rij en een invoeging die is mislukt op een dubbele sleutel kan worden genegeerd).
Zie Aangepaste eigenschappen van CDC-bron voor meer informatie.
CDC-broneditor (Kolommenpagina)
Gebruik de pagina Kolommen van het dialoogvenster CDC-broneditor om een uitvoerkolom toe te wijzen aan elke externe (bron) kolom.
Takenlijst
De Kolommen-pagina van de CDC-broneditor openen
Open in SQL Server Data Tools het SSIS-pakket (SQL Server 2019 Integration Services) met de CDC-bron.
Dubbelklik op het tabblad Gegevensstroom op de CDC-bron.
Klik in de CDC-broneditor op Kolommen.
Opties
beschikbare externe kolommen
Een lijst met beschikbare externe kolommen in de gegevensbron. U kunt deze tabel niet gebruiken om kolommen toe te voegen of te verwijderen. Selecteer de kolommen die u in de bron wilt gebruiken. De geselecteerde kolommen worden toegevoegd aan de lijst Externe kolom in de volgorde waarin ze zijn geselecteerd.
Externe Kolom
Een weergave van de externe (bron) kolommen in de volgorde waarin u ze ziet bij het configureren van onderdelen die gegevens uit de CDC-bron verbruiken. Als u deze volgorde wilt wijzigen, verwijdert u eerst de geselecteerde kolommen in de lijst Beschikbare externe kolommen en selecteert u vervolgens externe kolommen uit de lijst in een andere volgorde. De geselecteerde kolommen worden toegevoegd aan de lijst Met externe kolommen in de volgorde waarin u ze selecteert.
Uitvoerkolom
Voer een unieke naam in voor elke uitvoerkolom. De standaardwaarde is de naam van de geselecteerde externe kolom (bronkolom), maar u kunt elke unieke, beschrijvende naam kiezen. De ingevoerde naam wordt weergegeven in de SSIS Designer.
CDC-broneditor (Foutuitvoerpagina)
Gebruik de pagina Foutuitvoer van het dialoogvenster CDC-broneditor om opties voor foutafhandeling te selecteren.
Takenlijst
De uitvoerpagina van de CDC-broneditor openen
Open in SQL Server Data Tools het SSIS-pakket (SQL Server 2019 Integration Services) met de CDC-bron.
Dubbelklik op het tabblad Gegevensstroom op de CDC-bron.
Klik in de CDC-broneditor op Foutuitvoer.
Opties
Invoer/Uitvoer
Bekijk de naam van de gegevensbron.
kolom
Bekijk de externe (bron)kolommen die u hebt geselecteerd op de pagina Verbindingsbeheer van het dialoogvenster CDC-broneditor .
Fout
Selecteer hoe de CDC-bron fouten in een proces moet verwerken: negeer de fout, leid de rij om of laat het onderdeel falen.
Afkorting
Selecteer hoe de CDC-bron truncatie in een stroom moet verwerken: negeer de fout, leid de rij om, of laat het onderdeel falen.
Beschrijving
Niet gebruikt.
deze waarde instellen op geselecteerde cellen
Selecteer hoe CDC-bron alle geselecteerde cellen verwerkt wanneer er een fout of afkapping optreedt: negeer de foutmelding, leid de rij om, of laat het onderdeel mislukken.
Toepassen
Pas de opties voor foutafhandeling toe op de geselecteerde cellen.
Opties voor foutafhandeling
U gebruikt de volgende opties om te configureren hoe de CDC-bron fouten en afkappingen verwerkt.
Onderdeel mislukt
De gegevensstroomtaak mislukt wanneer er een fout of afkapping optreedt. Dit is het standaardgedrag.
Fout negeren
De fout of de afkapping wordt genegeerd en de gegevensrij wordt omgeleid naar de CDC-bronuitvoer.
Omleidingsstroom
De fout of de rij met afkappingsgegevens wordt omgeleid naar de foutuitvoer van de CDC-bron. In dit geval wordt de foutafhandeling van de CDC-bron gebruikt. Zie CDC-bron voor meer informatie.