SQL Server-Quelldatenbank

Diese Seite enthält Informationen zu folgenden Themen:

  • Das Verhalten bei der Verarbeitung von Daten, die aus einer SQL Server-Quelldatenbank abgerufen werden.
  • Die von Datastream unterstützten Versionen von SQL Server-Datenbanken.
  • Bekannte Einschränkungen bei der Verwendung einer SQL Server-Datenbank als Quelle.

Verhalten

Datastream verfolgt Änderungen der Datenbearbeitungssprache (Data Manipulation Language, DML) mithilfe eines der folgenden CDC-Methoden:

Transaktionslogs

Bei dieser CDC-Methode liest Datastream Änderungen in der Quelle direkt aus Transaktionsprotokollen. Diese Methode erfordert weniger Ressourcen und ermöglicht eine schnellere Datenabfrage, hat aber mehr Einschränkungen.

Um Datenverluste zu vermeiden, dürfen die Logs nicht vor dem Datastream liest sie. Wenn Sie jedoch die Protokolldateien für zu lange sind, belegen sie Speicherplatz, was letztlich dazu führen kann, um in den Lesemodus zu wechseln.

Damit der CDC-Reader genügend Zeit hat, die Protokolle zu lesen, und gleichzeitig Speicherplatz durch Protokollkürzung freigegeben wird, müssen Sie zusätzliche Konfigurationsschritte ausführen, z. B. die Polling-Intervalle ändern und eine Kürzungssicherung einrichten. Diese Schritte bieten eine zusätzliche Sicherheitsebene, um sicherzustellen, die Daten auch bei Ausfällen bei Datastream oder Verbindungsproblem zwischen der Quelldatenbank und Datastream.

Eine ausführliche Anleitung zur Anwendung dieser zusätzlichen Maßnahmen finden Sie in der SQL Server-Quelldatenbank konfigurieren und wählen Sie Ihren Datenbanktyp aus.

Tabellen ändern

Mit der CDC-Methode für Änderungstabellen können Nutzer Protokolle für eine kürzere Zeit aufbewahren und so spart Speicherplatz, unterstützt aber einen geringeren Durchsatz im Vergleich zur Transaktion log-Methode ein. Die Methode hat weniger Einschränkungen als Transaktionsprotokolle. Beispiel: beseitigt das Risiko, dass Logs abgeschnitten werden und Streams dauerhaft ausfallen. und unterstützt die Replikation verschlüsselter Tabellen. Weitere Informationen finden Sie unter Bekannte Einschränkungen:

Bei dieser CDC-Methode werden Änderungen an der Quelle mithilfe spezieller Tabellen ändern. Transaktionslogs werden weiterhin verwendet, aber in begrenztem Umfang, Sie brauchen sie nicht länger aufzubewahren. Wenn DML-Ereignisse auf die Quelltabellen, werden die Änderungen in die entsprechenden Änderungstabellen repliziert. Die Änderungstabellen haben dieselbe Struktur wie die Quelltabellen, haben aber zusätzliche um die Metadaten für die Änderungen aufzunehmen. Den Änderungstabellen werden nur Commit-Transaktionen zusammen mit der Logsequenznummer (LSN) des Commit-Vorgangs hinzugefügt.

Versionen

Datastream unterstützt die folgenden Versionen und Editionen von SQL Server-Datenbanken:

  • Selbstverwaltet (lokal oder in der Cloud gehostet) mit den folgenden Versionen:
    • Enterprise: 2008 und höher
    • Standard: 2016 SP1 und höher
    • Entwickler: 2008 und höher
  • Amazon RDS for SQL Server
  • Azure SQL-Datenbank (Stufe S3 und höher).

  • Cloud SQL for SQL Server

Die folgenden Versionen von SQL Server-Datenbanken werden von Datastream nicht unterstützt:

  • SQL Server Standard Edition von Version 2008 bis 2014
  • SQL Server Express
  • SQL Server Web

Bekannte Einschränkungen

Zu den bekannten Einschränkungen bei der Verwendung einer SQL Server-Datenbank als Quelle gehören:

  • Streams sind auf 10.000 Tabellen beschränkt.
  • Für eine Tabelle mit mehr als 500 Millionen Zeilen kann kein Backfill ausgeführt werden, es sei denn, das folgende Bedingungen erfüllt sind:
    1. Die Tabelle hat einen eindeutigen Index.
    2. Keine der Indexspalten kann Nullwerte enthalten.
    3. Alle Spalten des Index sind im Stream enthalten.
  • Datenbanken mit aktivierter verzögerter Langlebigkeit oder beschleunigter Datenbankwiederherstellung (Accelerated Database Recovery, ADR) werden nicht unterstützt.
  • Das Streaming von Änderungen an Systemtabellen wird nicht unterstützt.
  • Die Windows Active Directory-Authentifizierung (AD) wird nicht unterstützt.
  • Die folgenden Datentypen werden nicht unterstützt und nicht in das Ziel repliziert:
    • SQL_VARIANT
    • HIERARCHYID
    • GEOMETRY
    • GEOGRAPHY
  • Datastream repliziert benutzerdefinierte Datentypen, ist jedoch die Basis Datentyp, von dem Sie Ihren benutzerdefinierten Typ ableiten, der in der Ziel. Wenn Sie beispielsweise einen USERNAME-Datentyp basierend auf der VARCHAR(50)-Datentyp hat, werden die Daten im Ziel als VARCHAR(50) gespeichert.
  • Datastream unterstützt CDC nicht für große Objektspalten (TEXT, NTEXT, XML, IMAGE) und Spalten für die maximale variable Länge (VARCHAR(MAX), VARBINARY(MAX), NVARCHAR(MAX)) in Tabellen ohne eindeutiges -Index.

    Wenn große Objektspalten nicht im Stream enthalten sind, wird CDC unterstützt.

  • Datastream unterstützt keine Replikation von Quellschemaänderungen, wenn die CDC-Methode für Tabellenänderungen verwendet wird. Die folgenden Schemaänderungen können Daten verursachen, Beschädigung oder fehlgeschlagene Verarbeitung der Ereignisse:

    • Spalten hinzufügen: Die neuen Spalten werden nicht in das Ziel repliziert.
    • Spalten löschen: Die Daten in diesen Spalten werden durch NULL-Werte ersetzt.
    • Datentypen ändern: Datastream versucht, die Daten in den Ziel und löst einen Fehler aus, wenn die Daten abgelehnt werden.
    • Umbenennen von Spalten: wird für SQL Server nicht unterstützt, wenn CDC aktiviert ist.
  • Datastream unterstützt keine Datenmaskierung. Daten werden repliziert, Maskierung.

  • Datastream unterstützt keine Replikation von Änderungen, die mit dem DACPAC-Paket (Data Tier Application Package) auf die Datenbank angewendet wurden.

  • Datastream repliziert keine Änderungen, die mit WRITETEXT vorgenommen wurden, oder UPDATETEXT-Anweisungen.

  • Datastream unterstützt keine Replikation von berechneten Spalten.

  • Datastream unterstützt die Komprimierungstypen PAGE, COLUMNSTORE und COLUMNSTORE ARCHIVE nicht.

Zusätzliche Einschränkungen bei der Verwendung der Methode „Transaktionslogs“

Wenn Sie die CDC-Methode für Transaktionslogs verwenden, gelten die folgenden zusätzlichen Einschränkungen Anwenden:

  • Die transparente Datenverschlüsselung (Transparent Data Encryption, TDE) wird nicht unterstützt.
  • Die Verschlüsselung auf Spaltenebene wird nicht unterstützt. Die Daten in diesen Spalten werden durch NULL-Werte ersetzt.
  • Die ROLLBACK TO SAVEPOINT-Anweisung wird von Datastream nicht unterstützt. Solche Rollback-Ereignisse werden ignoriert und nicht in das Ziel repliziert.
  • Datastream unterstützt CDC für Zeilen mit mehr als 8 KB in den folgenden Tabellentypen nicht:
    • Tabellen ohne eindeutigen Index
    • Tabellen, die nur einen eindeutigen, nicht geclusterten Index mit einem oder mehreren enthalten Spalten mit variabler Länge (VARCHAR, VARBINARY, NVARCHAR)
  • Datastream unterstützt CDC nicht für große Objektspalten (TEXT, NTEXT, XML, IMAGE) in den folgenden Tabellentypen:

    • Tabellen ohne eindeutigen Index
    • Tabellen, die nur einen eindeutigen, nicht gruppierten Index mit einer oder mehreren Spalten mit variabler Länge (VARCHAR, VARBINARY, NVARCHAR) enthalten

    Wenn große Objektspalten nicht im Stream enthalten sind, wird CDC nur unterstützt. für solche Tabellen erstellen, wenn sie gültige Indexe haben.

Nächste Schritte