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 durch die Protokollkürzung Speicherplatz 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 werden nicht unterstützt.
Streamingänderungen an Systemtabellen werden 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 dem VARCHAR(50)-Datentyp definieren, werden die Daten im Ziel als VARCHAR(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 DACPAC-Paket (Data Tier Application Package) an der Datenbank vorgenommen wurden.
Änderungen, die mit den Anweisungen WRITETEXT oder UPDATETEXT 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 und COLUMNSTORE ARCHIVE nicht.
Weitere 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 (VARCHAR, VARBINARY, NVARCHAR) enthalten
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 (VARCHAR, VARBINARY, NVARCHAR) enthalten
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.
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Schwer verständlich","hardToUnderstand","thumb-down"],["Informationen oder Beispielcode falsch","incorrectInformationOrSampleCode","thumb-down"],["Benötigte Informationen/Beispiele nicht gefunden","missingTheInformationSamplesINeed","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 2025-08-12 (UTC)."],[[["\u003cp\u003eDatastream captures data changes from SQL Server databases using either change tables or transaction logs, with change tables offering lower storage needs but slower throughput, and transaction logs providing faster retrieval but with more limitations.\u003c/p\u003e\n"],["\u003cp\u003eSupported SQL Server versions include Enterprise (2008 and later), Standard (2016 SP1 and later), and Developer (2008 and later) for self-managed instances, as well as Amazon RDS, Azure SQL Database (S3 tier and above), and Cloud SQL for SQL Server.\u003c/p\u003e\n"],["\u003cp\u003eThere are limitations when using SQL Server as a source, such as a maximum of 10,000 tables per stream, the inability to backfill tables with more than 500 million rows without specific indexing conditions, and certain data types and features that are not supported.\u003c/p\u003e\n"],["\u003cp\u003eWhen using the transaction logs CDC method, additional limitations apply, including the lack of support for Transparent Data Encryption (TDE), Column Level Encryption, and the \u003ccode\u003eROLLBACK TO SAVEPOINT\u003c/code\u003e statement.\u003c/p\u003e\n"],["\u003cp\u003eSchema changes when using the change tables CDC method such as adding, dropping, renaming, or modifying data types in columns are not supported and can cause data corruption or processing failure.\u003c/p\u003e\n"]]],[],null,["# Source SQL Server database\n\nThis page contains information about:\n\n- The behavior of how Datastream handles data that's being pulled from a source SQL Server database.\n- The versions of SQL Server databases that Datastream supports.\n- Known limitations for using SQL Server database as a source.\n\nBehavior\n--------\n\nDatastream tracks data manipulation language (DML) changes using one\nof the following CDC methods:\n\n- [Change tables](#change-tables)\n- [Transaction logs](#transaction-logs)\n\n### Change tables\n\nThe change tables CDC method lets users retain logs for a shorter time, and thus\nsave storage space, but supports lower throughput compared to the transaction\nlogs method. The method has fewer limitations than transaction logs. For example,\nit eliminates the risk of log truncation leading to streams failing permanently,\nand supports replication of encrypted tables. For more information, see\n[Known limitations](#sqlserverknownlimitations).\n\nWhen using this CDC method, changes to the source are tracked using dedicated\nchange tables. Transaction logs are still used, but to a limited extent, and you\ndon't need to retain them for longer periods. As DML events are applied to the\nsource tables, the changes are replicated to the corresponding change tables.\nThe change tables have the same structure as the source tables, but with extra\ncolumns to include the metadata for the changes. Only committed transactions are\nadded to the change tables, along with the log sequence number (LSN) of the\ncommit operation.\n| **Note:** Datastream only replicates changes from the default capture instance whose name is [`\u003cschema_name\u003e_\u003ctable_name\u003e`](https://learn.microsoft.com/en-us/sql/relational-databases/system-tables/cdc-capture-instance-ct-transact-sql?view=sql-server-ver16).\n\n### Transaction logs\n\nWhen using this CDC method, Datastream reads changes in the source\ndirectly from transaction logs. This method requires fewer resources and allows\nfor faster data retrieval, but has [more limitations](#tl-limitations).\n\nTo prevent data loss, it's important that the logs aren't truncated before\nDatastream reads them. On the other hand, if you keep the log files for\ntoo long, they take up storage space, which might eventually cause the database\ninstance to enter read-only mode.\n\nTo make sure that the CDC reader has enough time to read the logs while allowing\nlog truncation to free up storage space, you need to apply additional configuration\nsteps, such as changing polling intervals and setting up a truncation safeguard.\nThese steps provide an additional layer of protection to ensure that Datastream\ncan read the data even if there's downtime on the Datastream side or a\nconnectivity issue between the source database and Datastream.\n\nFor detailed instructions on how to apply these additional measures, see the\n[Configure a source SQL Server database](/datastream/docs/configure-your-source-sql-server-database)\npage and select your database type.\n\nVersions\n--------\n\nDatastream supports the following versions and editions of SQL Server\ndatabases:\n\n- Self-managed (on-premise or cloud-hosted) using the following versions:\n - Enterprise: 2008 and later\n - Standard: 2016 SP1 and later\n - Developer: 2008 and later\n- Amazon RDS for SQL Server\n- Azure SQL Database (tier S3 and above).\n\n | **Note:** Only supported when using the change tables CDC method.\n- Cloud SQL for SQL Server\n\nDatastream doesn't support the following versions of SQL Server databases:\n\n- SQL Server Standard edition from version 2008 to 2014\n- SQL Server Express\n- SQL Server Web\n\nKnown limitations\n-----------------\n\nKnown limitations for using SQL Server database as a source include:\n\n- Streams are limited to 10,000 tables.\n- A table that has more than 500 million rows can't be backfilled unless the following conditions are met:\n 1. The table has a unique index.\n 2. None of the index columns are nullable.\n 3. All columns of the index are included in the stream.\n- Databases with delayed durability or accelerated database recovery (ADR) enabled aren't supported.\n- Streaming changes to system tables isn't supported.\n- Windows Active Directory (AD) authentication isn't supported.\n- The following data types aren't supported, and aren't replicated to the destination:\n - `SQL_VARIANT`\n - `HIERARCHYID`\n - `GEOMETRY`\n - `GEOGRAPHY`\n- Datastream replicates user-defined data types, however it's the base data type from which you derive your user-defined type that is stored in the destination. For example, if you define a `USERNAME` data type based on the `VARCHAR(50)` data type, the data is stored in the destination as `VARCHAR(50)`.\n- Datastream doesn't support CDC for large object columns (`TEXT`,\n `NTEXT`, `XML`, `IMAGE`) and maximum variable length columns\n (`VARCHAR(MAX)`, `VARBINARY(MAX)`, `NVARCHAR(MAX)`) in tables without a unique\n index.\n\n If large object columns aren't included in the stream, CDC is supported.\n- Datastream doesn't support replicating source schema changes when\n using the change tables CDC method. The following schema changes might cause data\n corruption or failure to process the events:\n\n - Adding columns: the new columns aren't replicated to the destination.\n - Dropping columns: data in these columns is replaced with `NULL` values.\n - Modifying data types: Datastream tries to insert the data to the destination and raises an error if the data is rejected.\n - Renaming columns: not supported for SQL Server when CDC is enabled.\n- Datastream doesn't support data masking. Data is replicated without\n masking.\n\n- Datastream doesn't support replicating changes applied to the database\n using the Data Tier Application Package (DACPAC) package.\n\n- Datastream doesn't replicate changes made using the `WRITETEXT` or\n `UPDATETEXT` statements.\n\n- Datastream doesn't support replicating [computed columns](https://learn.microsoft.com/en-us/sql/relational-databases/tables/specify-computed-columns-in-a-table) unless the column is marked `PERSISTED`.\n\n- Datastream doesn't support `PAGE`, `COLUMNSTORE` or `COLUMNSTORE ARCHIVE` compression types.\n\n### Additional limitations when using the transaction logs method\n\nIf you use the transaction logs CDC method, the following additional limitations\napply:\n\n- Transparent Data Encryption (TDE) isn't supported.\n- Column Level Encryption isn't supported. Data in these columns is replaced with `NULL` values.\n- Datastream doesn't support the `ROLLBACK TO SAVEPOINT` statement. Such rollback events are ignored and aren't replicated to the destination.\n- Datastream doesn't support CDC for rows greater than 8 KB in the following types of tables:\n - Tables without a unique index\n - Tables containing only a unique, non-clustered index with one or more variable length columns (`VARCHAR`, `VARBINARY`, `NVARCHAR`)\n- Datastream doesn't support CDC for large object columns (`TEXT`,\n `NTEXT`, `XML`, `IMAGE`) in the following types of tables:\n\n - Tables without a unique index\n - Tables containing only a unique, non-clustered index with one or more variable length columns (`VARCHAR`, `VARBINARY`, `NVARCHAR`)\n\n If large object columns aren't included in the stream, CDC is only supported\n for such tables if they have valid indexes.\n\nWhat's next\n-----------\n\n- Learn how to [configure a SQL Server source](/datastream/docs/configure-your-source-sql-server-database) for use with Datastream."]]