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
In de gegevensstroom van een Integration Services-pakket dat een incrementele belasting van wijzigingsgegevens uitvoert, is de derde en laatste taak het toepassen van de wijzigingen op uw bestemming. U hebt één onderdeel nodig om invoegingen toe te passen, één om updates toe te passen en één om verwijderingen toe te passen.
Note
De tweede taak bij het ontwerpen van de gegevensstroom van een pakket dat een incrementele belasting van wijzigingsgegevens uitvoert, is het scheiden van invoegingen, updates en verwijderingen. Zie Procesinvoegingen, Updates en Verwijderingen voor meer informatie over dit onderdeel. Zie Change Data Capture (SSIS) voor een beschrijving van het algehele proces voor het maken van een pakket dat een incrementele belasting van wijzigingsgegevens uitvoert.
Invoegen toepassen
Als u invoegingen wilt toepassen, gebruikt u een OLE DB-bestemming omdat voor de nieuwe rijen geen speciale verwerking is vereist.
Invoegingen verwerken met behulp van een OLE DB-bestemming
Voeg op het tabblad Gegevensstroom een OLE DB-bestemming toe.
Verbind de uitvoer die invoegingen bevat van de transformatie Conditionele splitsing met de OLE DB-doelbestemming.
Selecteer in de OLE DB-doeleditor op de pagina Verbindingsbeheer de volgende opties:
Selecteer of maak een OLE DB-Verbindingsbeheer voor de doeldatabase.
Selecteer een optie voor gegevenstoegang en selecteer vervolgens de doeltabel of voer een SQL-instructie in die de doelkolommen bevat.
Wijs op de pagina Toewijzingen van de editor de juiste kolommen van de wijzigingsgegevens toe aan de doeltabel.
Updates toepassen
Als u updates wilt toepassen, gebruikt u een OLE DB-opdrachttransformatie. U gebruikt deze transformatie omdat u een geparameteriseerde UPDATE instructie moet gebruiken om één rij tegelijk bij te werken met de nieuwe kolomwaarden.
Note
U kunt ook doelonderdelen gebruiken om updates toe te passen. Wanneer u deze methode gebruikt, gebruikt u de doelonderdelen om de rijen op te slaan in tijdelijke tabellen die u voor dit doel maakt. Vervolgens gebruikt u Execute SQL-taken om bulkupdate- en bulkverwijderingsbewerkingen op het doel uit te voeren vanuit de tijdelijke tabellen.
Updates verwerken met behulp van een OLE DB-opdrachttransformatie
Voeg op het tabblad Gegevensstroom een OLE DB-opdrachttransformatie toe.
Verbind de uitvoer die updates van de transformatie voorwaardelijk splitsen bevat met de OLE DB-opdrachttransformatie.
Selecteer of maak in de Geavanceerde editor voor OLE DB-opdracht op het tabblad Verbindingsbeheer een OLE DB-Verbindingsbeheer voor de doeldatabase.
Voer in de Geavanceerde editor voor OLE DB-opdracht, op het tabblad Eigenschappen van onderdelen, voor SqlCommand, een geparameteriseerde UPDATE instructie in.
Een UPDATE-instructie voor een tabel Customer kan er bijvoorbeeld als volgt uitzien:
update CDCSample.Customer set TerritoryID = ?, CustomerType = ?, rowguid = ?, ModifiedDate = ? where CustomerID = ?Wijs op het tabblad Kolomtoewijzingen van de editor de juiste kolommen uit de wijzigingsgegevens toe aan de parameters in het UPDATE statement.
Verwijderbewerkingen toepassen
Als u verwijderingen wilt toepassen, gebruikt u een OLE DB-opdrachttransformatie. U gebruikt deze transformatie omdat u een geparameteriseerde DELETE instructie moet gebruiken waarmee één rij tegelijk wordt verwijderd op basis van de kolomwaarde die de rij uniek identificeert.
Note
U kunt ook doelonderdelen gebruiken om verwijderingen toe te passen. Wanneer u deze methode gebruikt, gebruikt u de doelonderdelen om de rijen op te slaan in tijdelijke tabellen die u voor dit doel maakt. Vervolgens gebruikt u Execute SQL-taken om met behulp van de tijdelijke tabellen bulkupdates en bulkverwijderingen op de bestemming uit te voeren.
Verwijderingen verwerken met behulp van een OLE DB-opdrachttransformatie
Voeg op het tabblad Gegevensstroom een OLE DB-opdrachttransformatie toe aan de gegevensstroom.
Verbind de uitvoer met verwijderingen uit de transformatie voorwaardelijk splitsen met de OLE DB-opdrachttransformatie.
Open de Geavanceerde editor om de transformatie te configureren.
Selecteer of maak in de Geavanceerde editor voor OLE DB-opdracht op het tabblad Verbindingsbeheer een OLE DB-Verbindingsbeheer voor de doeldatabase.
Voer in de Geavanceerde editor voor OLE DB-opdracht, op het tabblad Eigenschappen van onderdelen van de editor, voor SqlCommand, een geparameteriseerde DELETE instructie in.
Een DELETE statement voor een klanttabel kan bijvoorbeeld de volgende syntaxis hebben:
delete from Customer where CustomerID = ?Koppel op het tabblad Kolomtoewijzingen van de editor de juiste kolom uit de wijzigingsdata aan de parameter in de DELETE statement.
Invoegen en updates optimaliseren met behulp van MERGE functionaliteit
U kunt de verwerking van invoegingen en updates optimaliseren door bepaalde opties voor het vastleggen van wijzigingsgegevens te combineren met het gebruik van het Transact-SQL MERGE trefwoord. Zie (Transact-SQL) voor meer informatie over het MERGE trefwoordMERGE.
In de Transact-SQL-instructie waarmee de wijzigingsgegevens worden opgehaald, kunt u alles opgeven met samenvoegen als de waarde van de parameter row_filter_option wanneer u de functie cdc.fn_cdc_get_net_changes_<capture_instance> aanroept. Deze functie voor het vastleggen van wijzigingsgegevens werkt efficiënter wanneer deze niet de extra verwerking hoeft uit te voeren die nodig is om invoegingen te onderscheiden van updates. Wanneer u de parameterwaarde all with merge opgeeft, is de waarde van __$operation van de wijzigingsdata 1 voor verwijderingen of 5 voor wijzigingen die zijn veroorzaakt door invoegingen of updates. Zie Ophalen en begrijpen van de wijzigingsgegevens voor meer informatie over de functie Transact-SQL die wordt gebruikt om de wijzigingsgegevens op te halen. Nadat u wijzigingen met alles hebt opgehaald met de parameterwaarde voor samenvoegen, kunt u verwijderingen toepassen en de resterende rijen uitvoeren op een tijdelijke tabel of een faseringstabel. Vervolgens kunt u in een volgende Execute SQL Task één enkele MERGE-instructie gebruiken om alle invoegingen of updates vanuit de stagingtabel op de bestemming door te voeren.