Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die CDC-Quelle liest verschiedene Änderungsdaten aus SQL Server 2014 Change Tables und liefert die Änderungen an andere SSIS-Komponenten.
Der Bereich der Änderungsdaten, die von der CDC-Quelle gelesen werden, wird als CDC-Verarbeitungsbereich bezeichnet und wird von der CDC-Steuerungsaufgabe bestimmt, die vor dem Start des aktuellen Datenflusses ausgeführt wird. Der CDC-Verarbeitungsbereich wird aus dem Wert einer Paketvariablen abgeleitet, die den Status der CDC-Verarbeitung für eine Gruppe von Tabellen verwaltet.
Die CDC-Quelle extrahiert Daten aus einer SQL Server-Datenbank mithilfe einer Datenbanktabelle, einer Ansicht oder einer SQL-Anweisung.
Die CDC-Quelle verwendet die folgenden Konfigurationen:
SQL Server -ADO.NET-Verbindungs-Manager, um auf die SQL Server -CDC-Datenbank zuzugreifen. Weitere Informationen zum Konfigurieren der CDC-Quellverbindung finden Sie unter Quellen-Editor für CDC (Seite „Verbindungs-Manager“).
Für CDC aktivierte Tabelle.
Name der Aufzeichnungsinstanz der ausgewählten Tabelle (falls mehr als eine vorhanden ist).
Änderungsverarbeitungsmodus
Name der CDC-Statuspaketvariablen, auf deren Grundlage der CDC-Verarbeitungsbereich bestimmt wird. Die CDC-Quelle ändert diese Variable nicht.
Die von der CDC-Quelle zurückgegebenen Daten entsprechen den Daten, die von den SQL Server-CDC-Funktionen cdc.fn_cdc_get_all_changes_<capture-instance-name> oder cdc.fn_cdc_get_net_changes_<capture-instance-name> zurückgegeben werden (falls verfügbar). Die einzige optionale Hinzufügung ist die Spalte __$initial_processing , in der angegeben wird, ob sich der aktuelle Verarbeitungsbereich mit einem erstmaligen Ladevorgang der Tabelle überschneiden kann. Weitere Informationen zur erstmaligen Verarbeitung finden Sie unter CDC Control Task.
Die CDC-Quelle weist eine reguläre Ausgabe und eine Fehlerausgabe auf.
Fehlerbehandlung
Die CDC-Quelle verfügt über eine Fehlerausgabe. Die Komponentenfehlerausgabe enthält die folgenden Ausgabespalten:
Fehlercode: Der Wert beträgt immer -1.
Fehlerspalte: Die Quellspalte, die den Fehler verursacht (für Konvertierungsfehler).
Fehlerzeilenspalten: Die Datensatzdaten, die den Fehler verursachen.
Je nach Einstellung des Fehlerverhaltens unterstützt die CDC-Quelle das Zurückgeben von Fehlern (Datenkonvertierung, Abschneiden), die während des Extraktionsprozesses in der Fehlerausgabe auftreten. Weitere Informationen finden Sie im CDC-Quell-Editor (Fehlerausgabeseite).
Datentypunterstützung
Die CDC-Quellkomponente für Microsoft unterstützt alle SQL Server -Datentypen, die den richtigen SSIS-Datentypen zugeordnet sind.
Problembehandlung der CDC-Quelle
Unten sind Informationen zum Durchführen einer Problembehandlung für die CDC-Quelle aufgeführt.
Verwenden dieses Skripts zum Isolieren von Problemen und zum Reproduzieren in SQL Server Management Studio
Der CDC-Quellvorgang wird vom Vorgang des CDC-Steuerungstasks gesteuert, der vor dem Aufrufen der CDC-Quelle ausgeführt wurde. Der CDC-Steuerungstask bereitet den Wert der CDC-Statuspaketvariablen vor, damit die Start- und End-LSN darin enthalten sein kann. Es wird eine Funktion ausgeführt, die dem folgenden Skript entspricht:
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>')
wo:
<cdc-enabled-database-name> ist der Name der SQL Server-Datenbank, in der die Änderungstabellen enthalten sind.
<value-from-state-cs> ist der Wert, der in der CDC-Statusvariablen als CS/<value-from-state-cs>/ (CS steht für Current-processing-range-Start) angegeben wird.
<value-from-state-ce> ist der Wert, der in der CDC-Statusvariablen als CE/<value-from-state-cs>/ (CE steht für Current-processing-range-End) angegeben wird.
<mode> steht für die CDC-Verarbeitungsmodi. Die Verarbeitungsmodi haben einen der folgenden Werte: All, All with Old Values, Net, Net with Update Mask, Net with Merge.
Dieses Skript trägt zur Isolierung von Problemen bei, indem sie im SQL Server Management Studioreproduziert werden, wo sie leicht reproduziert und identifiziert werden können.
SQL Server-Fehlermeldung
SQL Servergibt möglicherweise die folgende Meldung zurück:
Für die Prozedur oder Funktion cdc.fn_cdc_get_net_changes_<..> wurden zu wenig Argumente bereitgestellt.
Dieser Fehler gibt nicht an, dass ein Argument fehlt. Die Bedeutung ist, dass die Start- bzw. End-LSN-Werte in der CDC-Statusvariablen ungültig sind.
Konfigurieren der CDC-Quelle
Sie können die CDC-Quelle programmgesteuert oder mit dem SSIS-Designer konfigurieren.
Weitere Informationen finden Sie in einem der folgenden Themen:
Das Dialogfeld Erweiterter Editor enthält die Eigenschaften, die programmgesteuert festgelegt werden können.
So öffnen Sie das Dialogfeld Erweiterter Editor :
- Klicken Sie im Bildschirm "Datenfluss " ihres SQL Server 2014 Integration Services (SSIS)-Projekts mit der rechten Maustaste auf die CDC-Quelle, und wählen Sie " Erweiterten Editor anzeigen" aus.
Weitere Informationen zu den Eigenschaften, die Sie im Dialogfeld Erweiterter Editor festlegen können, finden Sie unter CDC Source Custom Properties.
In diesem Abschnitt
Verwandte Inhalte
- Blogeintrag, Verarbeitungsmodi für die CDC-Quelle, auf mattmasson.com.