Diese Seite enthält Informationen zu:
- Das Verhalten von Datastream zur 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 Verwendung der SQL Server-Datenbank als Quelle
Verhalten
Datastream erfasst DML-Änderungen (Data Manipulation Language) mit einer der folgenden CDC-Methoden:
Tabellen ändern
Mit der CDC-Methode für Änderungstabellen können Nutzer Protokolle kürzer aufbewahren und so Speicherplatz sparen. Sie unterstützt jedoch einen geringeren Durchsatz als die Methode mit Transaktionsprotokollen. Die Methode hat weniger Einschränkungen als Transaktionsprotokolle. So wird beispielsweise das Risiko von Protokollkürzungen beseitigt, die zu dauerhaften Fehlern bei Streams führen, und die Replikation verschlüsselter Tabellen wird unterstützt. Weitere Informationen finden Sie unter Bekannte Einschränkungen.
Bei dieser CDC-Methode werden Änderungen an der Quelle mithilfe spezieller Änderungstabellen erfasst. Transaktionsprotokolle werden weiterhin verwendet, aber nur in begrenztem Umfang. Sie müssen sie nicht länger aufbewahren. Wenn DML-Ereignisse auf die Quelltabellen angewendet werden, werden die Änderungen in die entsprechenden Änderungstabellen repliziert. Die Änderungstabellen haben dieselbe Struktur wie die Quelltabellen, aber mit zusätzlichen Spalten, um die Metadaten für die Änderungen aufzunehmen. Den Änderungstabellen werden nur Commit-Transaktionen zusammen mit der Logsequenznummer (LSN) des Commit-Vorgangs hinzugefügt.
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 Protokolle nicht abgeschnitten werden, bevor Datastream sie liest. Wenn Sie die Protokolldateien jedoch zu lange aufbewahren, belegen sie Speicherplatz, was dazu führen kann, dass die Datenbankinstanz in den schreibgeschützten Modus wechselt.
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 einen zusätzlichen Schutz, damit Datastream die Daten auch dann lesen kann, wenn es auf der Datastream-Seite eine Ausfallzeit oder ein Verbindungsproblem zwischen der Quelldatenbank und Datastream gibt.
Eine ausführliche Anleitung zum Anwenden dieser zusätzlichen Maßnahmen finden Sie auf der Seite SQL Server-Quelldatenbank konfigurieren. Wählen Sie dazu Ihren Datenbanktyp aus.
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
Bekannte Einschränkungen bei Verwendung der SQL Server-Datenbank als Quelle:
- Streams sind auf 10.000 Tabellen beschränkt.
- Bei Tabellen mit mehr als 500 Millionen Zeilen ist nur dann ein Backfill möglich, wenn die folgenden Bedingungen erfüllt sind:
- Die Tabelle hat einen eindeutigen Index.
- Keine der Indexspalten darf Nullwerte enthalten.
- Alle Spalten des Index sind im Stream enthalten.
- Datenbanken mit aktivierter verzögerter Langlebigkeit oder beschleunigter Wiederherstellung von Datenbanken (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
- Im Datastream werden benutzerdefinierte Datentypen repliziert. Es ist jedoch der Basisdatentyp, aus dem Sie den benutzerdefinierten Typ ableiten, der im Ziel gespeichert wird. Wenn Sie beispielsweise einen
USERNAME
-Datentyp basierend auf demVARCHAR(50)
-Datentyp definieren, werden die Daten im Ziel alsVARCHAR(50)
gespeichert. Datastream unterstützt CDC nicht für Spalten für große Objekte (
TEXT
,NTEXT
,XML
,IMAGE
) und Spalten mit maximal variabler Länge (VARCHAR(MAX)
,VARBINARY(MAX)
,NVARCHAR(MAX)
) in Tabellen ohne eindeutigen Index.Wenn Spalten für große Objekte 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 zu Datenbeschädigungen oder Fehlern bei der Verarbeitung der Ereignisse führen:
- Spalten hinzufügen: Die neuen Spalten werden nicht in das Ziel repliziert.
- Spalten entfernen: Die Daten in diesen Spalten werden durch
NULL
-Werte ersetzt. - Datentypen ändern: Datastream versucht, die Daten in das Ziel einzufügen, und meldet einen Fehler, wenn die Daten abgelehnt werden.
- Spalten umbenennen: Wird für SQL Server nicht unterstützt, wenn CDC aktiviert ist.
Datastream unterstützt keine Datenmaskierung. Die Daten werden ohne Maskierung repliziert.
Datastream unterstützt keine Replikation von Änderungen, die mit dem Data Tier Application Package (DACPAC) an der Datenbank vorgenommen wurden.
Änderungen, die mit den Anweisungen
WRITETEXT
oderUPDATETEXT
vorgenommen wurden, werden in Datastream nicht repliziert.Datastream unterstützt die Replikation von berechneten Spalten nur, wenn die Spalte mit
PERSISTED
gekennzeichnet ist.Datastream unterstützt die Komprimierungstypen
PAGE
,COLUMNSTORE
undCOLUMNSTORE ARCHIVE
nicht.
Zusätzliche Einschränkungen bei der Verwendung der Methode für Transaktionslogs
Wenn Sie die CDC-Methode für Transaktionslogs verwenden, gelten die folgenden zusätzlichen Einschränkungen:
- 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 an 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 gruppierten Index mit einer oder mehreren Spalten mit variabler Länge enthalten (
VARCHAR
,VARBINARY
,NVARCHAR
)
Datastream unterstützt CDC für Spalten für große Objekte (
TEXT
,NTEXT
,XML
,IMAGE
) in den folgenden Tabellentypen nicht:- Tabellen ohne eindeutigen Index
- Tabellen, die nur einen eindeutigen, nicht gruppierten Index mit einer oder mehreren Spalten mit variabler Länge enthalten (
VARCHAR
,VARBINARY
,NVARCHAR
)
Wenn Spalten für große Objekte nicht im Stream enthalten sind, wird CDC für solche Tabellen nur unterstützt, wenn sie gültige Indexe haben.
Nächste Schritte
- Informationen zum Konfigurieren einer SQL Server-Quelle für die Verwendung mit Datastream