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.
Gilt für: SQL Server 2025 (17.x)
Azure SQL-Datenbank
Azure SQL Managed Instance
SQL-Datenbank in Microsoft Fabric
Dieser Artikel beschreibt, wie die Change Event Streaming (CES)-Funktion in SQL Server 2025 (17.x), Azure SQL-Datenbank, Azure SQL Managed Instance und SQL-Datenbank in Microsoft Fabric konfiguriert wird, um an Azure Event Hubs zu streamen.
Um CES zu Fabric Eventstream zu konfigurieren, siehe Stream to Fabric Eventstream.
Hinweis
Das Change Event Streaming befindet sich derzeit in der Vorschau und weist Unterschiede in der Unterstützbarkeit zwischen den Produkten auf. Während der Vorschau kann dieses Feature geändert werden.
Verfahren für das Streaming von Änderungsereignissen
- Verwenden Sie einen vorhandenen oder erstellen Sie eine neue Azure Event Hubs-Namespace - und Event Hubs-Instanz. Die Event Hubs-Instanz empfängt Ereignisse.
- Aktivieren Sie das Streaming von Änderungsereignissen für eine Benutzerdatenbank.
- Erstelle eine Stream-Gruppe. Konfigurieren Sie mit dieser Gruppe das Ziel, die Anmeldeinformationen, die Größenbeschränkungen für Nachrichten und das Partitionierungsschema.
- Füge eine oder mehrere Tabellen zur Stream-Gruppe hinzu.
Jeder Schritt wird in den folgenden Abschnitten dieses Artikels ausführlich beschrieben.
Voraussetzungen
Von Bedeutung
Seit dem 15. August 2026 ist das AMQP-Protokoll für Change Event Streaming (CES) veraltet. Es gibt Unterschiede zwischen den Plattformen. Zu Migrationsschritten und Zeitplänen siehe AMQP-Protokollveraltung.
Zum Konfigurieren des Änderungsereignisstreamings benötigen Sie die folgenden Ressourcen, Berechtigungen und Konfigurationen:
- Azure Event Hubs-Namespace
- Azure Event Hubs-Instanz
- Hostname von Azure Event Hubs
- Eine Anmeldung mit der Rolle db_owner oder mit der Berechtigung CONTROL DATABASE für die Datenbank, in der Sie CES aktivieren möchten.
- Aktivieren Sie für SQL Server 2025 (17.x) die Datenbankbereichskonfiguration für die Vorschaufunktion. Für die Azure SQL-Datenbank ist diese Konfiguration nicht erforderlich.
- Für eine Azure SQL-Datenbank, die für die Verwendung ausgehender Firewallregeln konfiguriert ist, und für Virtual Network-Konfigurationen für Azure SQL Managed Instance: Firewallports, die geöffnet werden sollen
- Für Azure SQL-Datenbank, die für die Verwendung eines Netzwerksicherheitsperimeters konfiguriert ist, ermöglichen Sie den Zugriff auf die Ziel-Azure Event Hubs:For Azure SQL-Datenbank configured to use a Network Security Perimeter, allow access to the destination Azure Event Hubs:
Bei Verwendung des Änderungsereignisstreamings mit Azure SQL Managed Instance muss die Instanz mit der Aktualisierungspolitik von SQL Server 2025 oder der Always-up-to-date-Aktualisierungsrichtlinie konfiguriert werden.
Konfigurieren von Azure Event Hubs
Um zu erfahren, wie man Azure Event Hubs erstellt, lesen Sie Erstellen eines Event Hubs mithilfe des Azure-Portals.
Zugriffssteuerung für Azure Event Hubs
Konfigurieren Sie die Zugriffssteuerung für Ihre SQL-Ressource in Azure Event Hubs. Microsoft Entra Authentifizierung ist die sicherste Methode. CES unterstützt Microsoft Entra-Authentifizierung in Azure SQL-Datenbank und Azure SQL Managed Instance. Für SQL Server 2025 wird die Microsoft Entra-Authentifizierung ab Cumulative Update 3 (CU3) für Instanzen unterstützt, die durch Azure Arc aktiviert sind oder auf einer Azure-VM laufen. Richtlinien für den gemeinsamen Zugriff werden zwar unterstützt, aber verwenden Sie sie nur, wenn eine Microsoft Entra-Authentifizierung keine Option ist.
Richtlinien für den freigegebenen Zugriff bieten Authentifizierung und Autorisierung für Azure Event Hubs. Jede Richtlinie für den freigegebenen Zugriff benötigt einen Namen, eine Zugriffsstufe (Manage, Sendoder Listen) und eine Ressourcenbindung (Event Hubs-Namespace oder eine bestimmte Event Hub-Instanz). Richtlinien auf Instanzebene bieten mehr Sicherheit, indem sie dem Prinzip der geringsten Berechtigungen folgen. Während SQL Datenbank-Engine-Produkte Shared-Access-Richtlinien unterstützen, sollten Sie wann immer möglich Microsoft Entra-Authentifizierung verwenden, da dies eine bessere Sicherheit bietet.
Wenn Sie eine Shared-Access-Richtlinie für Authentifizierung und Autorisierung verwenden, müssen Clients, die Daten an eine Event Hubs-Instanz senden, den Namen der gewünschten Richtlinie sowie den Serviceschlüssel der Richtlinie angeben.
Um das Streaming an Azure Event Hubs zu konfigurieren, erstellen Sie eine SAS-Richtlinie mit Senden-Berechtigung oder verwenden eine solche erneut. Du kannst dich mit einem Service-Schlüssel authentifizieren (Primär- oder Sekundärschlüssel-Wert).
Hinweis
Um die Sicherheit zu verbessern, verwenden Sie nach Möglichkeit die microsoft Entra-basierte Zugriffssteuerung. Wenn eine auf Microsoft Entra basierende Zugriffskontrolle nicht möglich ist und Sie Shared Access Policies verwenden, ist die beste Praxis, den Service-Schlüssel regelmäßig zu rotieren. Speichern Sie alle geheimen Schlüssel sicher mithilfe von Azure Key Vault oder einem ähnlichen Dienst.
Definieren einer Richtlinie
Du brauchst eine Shared-Access-Richtlinie mit Send-Rechten . Sie haben folgende Möglichkeiten:
Erstellen einer neuen Richtlinie
oder
Verwenden einer vorhandenen Richtlinie
Hinweis
Die Richtlinie muss über Senderechte verfügen.
Sobald die Richtlinie festgelegt wurde, notieren Sie den Wert des Dienstschlüssels. Du verwendest sie zusammen mit dem Namen der Richtlinie, wenn du die Zugangsberechtigung in SQL erstellst, bevor du CES konfigurierst.
Change Event Streaming aktivieren und konfigurieren
Von Bedeutung
Seit dem 15. August 2026 ist das AMQP-Protokoll für Change Event Streaming (CES) veraltet. Es gibt Unterschiede zwischen den Plattformen. Zu Migrationsschritten und Zeitplänen siehe AMQP-Protokollveraltung.
Um das Streaming von Änderungsereignissen zu aktivieren und zu konfigurieren, ändern Sie den Datenbankkontext in die Benutzerdatenbank, und führen Sie dann die folgenden Schritte aus:
- Wenn sie noch nicht konfiguriert ist, legen Sie die Datenbank auf das vollständige Wiederherstellungsmodell fest.
- Erstellen Sie einen Hauptschlüssel und eine datenbankabhängige Berechtigung.
- Aktivieren des Ereignisstreamings.
- Erstellen Sie die Stream-Gruppe.
- Füge eine oder mehrere Tabellen zur Stream-Gruppe hinzu.
Die folgenden Beispiele zeigen, wie CES plattformweise aktiviert werden kann:
- Streamen zu Azure Event Hubs aus Azure SQL-Datenbank
- Daten aus Azure SQL MI oder SQL Server 2025 an Azure Event Hubs streamen
Die folgende Tabelle listet Beispielparameterwerte für die Beispiele in diesem Abschnitt auf:
| Parameter | Beispielwert | Hinweise |
|---|---|---|
@stream_group_name |
N'myStreamGroup' |
Name der Event-Stream-Gruppe. |
@destination_location |
Siehe Anmerkungen | Die FQDN des Azure Event Hubs-Namensraums und Instanznamens, einschließlich Port 9093. Format: <namespace>.servicebus.windows.net:9093/<instance>. Für Fabric Eventstream verwenden Sie den benutzerdefinierten Eingabe-Endpunkt. |
@partition_key_scheme |
N'None' |
(Standard-)Partitionen werden nach dem Round-Robin-Verfahren ausgewählt. Weitere Optionen sind StreamGroup, Table, und Column. |
@max_message_size_kb |
256 |
256 KB ist die standardmäßige maximale Nachrichtengröße. Richten Sie diesen Wert auf Ihre Zielgrenzen aus. |
Die Beispiele verwenden außerdem folgende Werte:
-
[optional, falls gemeinsame Zugriffsrichtlinien über Serviceschlüssel verwendet werden] Primär- oder Sekundärschlüsselwert, der aus der Shared-Access-Richtlinie übernommen wurde:
Secret = 'BVFnT3baC/K6I8xNZzio4AeoFt6nHeK0i+ZErNGsxiw=' EXEC sys.sp_add_object_to_event_stream_group N'myStreamGroup', N'dbo.myTable'
Beispiel: Stream zu Azure Event Hubs aus Azure SQL-Datenbank
Die folgenden Beispiele zeigen, wie Änderungsereignisse von Azure SQL-Datenbank an Azure Event Hubs übertragen werden, indem AzureEventHubs als destination_type verwendet wird. Dieser Wert ist der einzige akzeptierte Wert für Azure SQL-Datenbank und SQL-Datenbanken in Microsoft Fabric.
Das Beispiel in diesem Abschnitt verwendet Microsoft Entra-Authentifizierung. Diese Methode ist am sichersten.
Ersetzen Sie die Werte in eckigen Klammern (<value>) durch Werte für Ihre Umgebung.
USE <database name>;
-- Create the Master Key with a password.
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<Password>';
CREATE DATABASE SCOPED CREDENTIAL <CredentialName>
WITH IDENTITY = 'Managed Identity'
EXEC sys.sp_enable_event_stream
EXEC sys.sp_create_event_stream_group
@stream_group_name = N'<EventStreamGroupName>',
@destination_type = N'AzureEventHubs',
@destination_location = N'<AzureEventHubsHostName>:9093/<EventHubsInstance>',
@destination_credential = <CredentialName>,
@max_message_size_kb = <MaxMessageSize>,
@partition_key_scheme = N'<PartitionKeyScheme>'
EXEC sys.sp_add_object_to_event_stream_group
N'<EventStreamGroupName>',
N'<SchemaName>.<TableName>'
Beispiel: Datenstreaming an Azure Event Hubs von Azure SQL MI oder SQL Server 2025
Die folgenden Beispiele zeigen, wie man Änderungsereignisse von Azure SQL Managed Instance oder SQL Server 2025 zu Azure Event Hubs streamt, indem AzureEventHubsApacheKafka man als das destination_typeverwendet.
Von Bedeutung
Seit dem 15. August 2026 ist das AMQP-Protokoll für Change Event Streaming (CES) veraltet. Es gibt Unterschiede zwischen den Plattformen. Zu Migrationsschritten und Zeitplänen siehe AMQP-Protokollveraltung.
Im Beispiel in diesem Abschnitt wird die Microsoft Entra-Authentifizierung verwendet, um sich über das Apache Kafka-Protokoll bei Ihrer Azure Event Hubs-Instanz zu authentifizieren. Diese Methode ist am sichersten.
Ersetzen Sie die Werte in eckigen Klammern (<value>) durch Werte für Ihre Umgebung.
USE <database name>
-- Create the Master Key with a password.
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<Password>'
CREATE DATABASE SCOPED CREDENTIAL <CredentialName>
WITH IDENTITY = 'Managed Identity'
EXEC sys.sp_enable_event_stream
EXEC sys.sp_create_event_stream_group
@stream_group_name = N'<EventStreamGroupName>',
@destination_type = N'AzureEventHubsApacheKafka',
@destination_location = N'<AzureEventHubsHostName>:<port>/<EventHubsInstance>', -- myEventHubsNamespace.servicebus.windows.net:9093/myEventHubsInstance
@destination_credential = <CredentialName>,
@max_message_size_kb = <MaxMessageSize>,
@partition_key_scheme = N'<PartitionKeyScheme>'
EXEC sys.sp_add_object_to_event_stream_group
N'<EventStreamGroupName>',
N'<SchemaName>.<TableName>'
Um zu bestätigen, dass das Streaming aktiviert ist und um die für eine Stream-Gruppe konfigurierten Tabellen anzuzeigen, siehe View CES configuration and function.
Nachrichtengröße und Spaltenkürzung
Azure Event Hubs und Fabric Eventstream begrenzen die maximale Größe jeder erhaltenen Nachricht. CES nutzt die Einstellung @max_message_size_kb , um ein großes ausgehendes Ereignis in mehrere Nachrichtenabschnitte zu unterteilen, die zum konfigurierten Ziel passen. Stellen Sie diesen Wert so ein, dass er mit den Grenzen Ihres Ziels übereinstimmt. Für die JSON-Attribute, die Nachrichtenchunks identifizieren, siehe JSON-Nachrichtenformat – Change Event Streaming.
Wenn eine oder mehrere gestreamte Spaltenwerte größer als 1 MB sind, verkürzt CES jeden betroffenen Spaltenwert auf 1 MB, bevor das ausgehende Ereignis entsteht. Das 1-MB-Limit gilt für jeden Spaltenwert separat. Diese Kürzung ist getrennt von der Nachrichtenaufteilung. Nach dem Kürzen übergroßer Spaltenwerte erstellt CES das ausgehende Ereignis, teilt es bei Bedarf gemäß @max_message_size_kb in Blöcke auf und sendet jeden Block an das Ziel.
Stellen Sie die Serverkonfigurationsoption max text repl size so ein, dass bei aktiviertem CES mehr als 65.536 Bytes in LOB-Spalten geschrieben werden können.
Zum Beispiel, wenn eine Zeile fünf Spalten hat und die ersten drei Spaltenwerte jeweils größer als 1 MB sind, gilt CES:
- Kürzt den Wert der ersten Spalte auf 1 MB.
- Kürzt den Wert der zweiten Spalte auf 1 MB.
- Kürzt den Wert der dritten Spalte auf 1 MB.
- Bereitet das ausgehende Ereignis vor, teilt es entsprechend in die erforderliche Anzahl von Chunks
@max_message_size_kbauf und sendet jedes Chunk an das Ziel.
Hinweis
Die Kürzung von Spaltendaten ist bedingungslos. CES kürzt jeden gestreamten Spaltenwert, der größer als 1 MB ist, und protokolliert keine Fehler oder Warnungen, wenn diese Abschneidung auftritt.
CES-Konfiguration und -Funktion anzeigen
Gibt in sys.databases an, is_event_stream_enabled = 1 dass das Streaming von Änderungsereignissen für die Datenbank aktiviert ist.
Die folgende Abfrage gibt alle Datenbanken mit aktivierter Änderungsereignisstreaming zurück:
SELECT *
FROM sys.databases
WHERE is_event_stream_enabled = 1;
In sys.tables gibt an, is_replicated = 1 dass eine Tabelle gestreamt wird, und sp_help_change_feed_table Informationen zu den Tabellengruppen- und Tabellenmetadaten für das Streaming von Änderungsereignissen bereitstellt.
Die folgende Abfrage gibt alle Tabellen mit aktivierter Änderungsereignisstreaming zurück und stellt Metadateninformationen bereit:
SELECT name,
is_replicated
FROM sys.tables;
EXECUTE sp_help_change_feed_table
@source_schema = '<schema name>',
@source_name = '<table name>';
CES-gespeicherte Prozeduren, Systemfunktionen und DMVs
In der folgenden Tabelle sind die gespeicherten Prozeduren, Systemfunktionen und DMVs aufgeführt, die Sie zum Konfigurieren, Deaktivieren und Überwachen des Änderungsereignisstreamings verwenden können:
| Systemobjekt | BESCHREIBUNG |
|---|---|
|
|
|
| sys.sp_enable_event_stream | Aktiviert CES für die aktuelle Benutzerdatenbank. |
| sys.sp_create_event_stream_group | Erstellt eine Datenstromgruppe, bei der es sich um eine Streamingkonfiguration für eine Gruppe von Tabellen handelt. Die Datenstromgruppe definiert auch das Ziel und die zugehörigen Details (z. B. Authentifizierung, Nachrichtengröße, Partitionierung). Die stream_group_id wird automatisch generiert und für den Endbenutzer angezeigt, wenn die Prozedur abgeschlossen ist. |
| sys.sp_add_object_to_event_stream_group | Fügt der Datenstromgruppe eine Tabelle hinzu. |
|
|
|
| sys.sp_remove_object_from_event_stream_group | Entfernt eine Tabelle aus der Datenstromgruppe. |
| sys.sp_drop_event_stream_group | Löscht die Streamgruppe. Die Streamgruppe darf nicht verwendet werden. |
| sys.sp_disable_event_stream | Deaktiviert CES für die aktuelle Benutzerdatenbank. |
|
|
|
| sys.dm_change_feed_errors | Gibt Übermittlungsfehler zurück. |
| sys.dm_change_feed_log_scan_sessions | Gibt Informationen zur Protokoll-Scan-Aktivität zurück. |
| sys.sp_help_change_feed_settings | Stellt den Status und die Informationen des konfigurierten Änderungsereignisstreamings bereit. |
| sys.sp_help_change_feed | Überwacht die aktuelle Konfiguration des Änderungsdatenstroms. |
| sys.sp_help_change_feed_table_groups | Gibt Metadaten zurück, die zum Konfigurieren von Change Event Streaming-Gruppen verwendet werden. |
| sys.sp_help_change_feed_table | Stellt den Status und die Informationen der Streaminggruppe sowie Tabellenmetadaten für das Change Event Streaming bereit. |
Transaktionsprotokollwachstum
Da die Nachrichtenübermittlung garantiert ist, kann das Transaktionsprotokoll für eine Datenbank, für die CES aktiviert ist, weiter wachsen. Die Protokollkürzung wird verhindert, solange CES-Änderungen zum Streamen aus dem Protokoll vorliegen. Sobald die Größe des Transaktionsprotokolls den maximal definierten Grenzwert erreicht hat, schlagen Schreibvorgänge in die Datenbank fehl.
Um dies in der Azure SQL-Datenbank und in der verwalteten Azure SQL-Instanz zu verhindern, kann Microsoft, wenn die Größe des Transaktionsprotokolls dem maximal definierten Grenzwert entspricht, die CES deaktivieren oder transaktionen mit langer Ausführung beenden. Bei nicht verwalteten SQL Server-Instanzen wie lokal oder auf SQL Server auf Azure-VMs sind Sie für die Überwachung der Transaktionsprotokollgröße verantwortlich und stellen sicher, dass sie nicht den maximalen definierten Grenzwert erreicht und bei Bedarf CES deaktiviert oder lange ausgeführte Transaktionen manuell beendet werden.
Sobald CES deaktiviert ist oder eine lange ausgeführte Transaktion abgebrochen wird, wird das Transaktionsprotokoll abgeschnitten, um Speicherplatz freizugeben. Sie müssen CES manuell aktivieren, nachdem es deaktiviert wurde, oder alle zeitintensiven Transaktionen, die abgebrochen wurden, erneut versuchen. Datenänderungen, die vorgenommen wurden, während CES deaktiviert wurde, werden nicht erfasst. Nur Änderungen, die nach dem Neustart der CES vorgenommen wurden, werden gestreamt.
Nachfolgend finden Sie eine Liste typischer Szenarien, die zu Transaktionsprotokollwachstum mit aktivierter CES führen können:
- Persistente Fehler. CES versucht erneut, eine Nachricht zu senden, die wiederholt abgelehnt wird, sodass CES mit dem Senden nicht fortfahren kann. Gründe für dauerhafte Fehler, die zu abgelehnten Nachrichten führen können, sind:
- Netzwerkprobleme oder Fehlkonfigurationen.
- Falsch konfigurierte Anmeldeinformationen.
- Falsch konfigurierte maximale Nachrichtengröße, die das Ziel ablehnt.
- Das Ziel drosselt die eingehenden Ereignisse. Zum Beispiel bewerten Azure Event Hubs Grenzwerte basierend auf ihrer SKU.
- Lang andauernde Transaktionen, die viele Protokolldatensätze generieren und das Kürzen der Protokolle verhindern.
Um einen reibungslosen Betrieb sicherzustellen, überwachen Sie die Größe des Transaktionsprotokolls und der CES-Übermittlungsfehler regelmäßig.
Leistung
Auf SQL Server, azure SQL Managed Instance und Azure SQL-Datenbank elastic pools können Sie CES für mehrere Datenbanken aktivieren. Jede CES-fähige Datenbank verbraucht Serverressourcen und konkurriert mit anderen Serverarbeitsauslastungen. Stellen Sie sicher, dass Ihr Server für die erwartete Arbeitsauslastung angemessen ressourcengerecht ist, und überwachen Sie regelmäßig die Leistung Ihres Servers und Ihrer Datenbanken.
Einschränkungen
Change Event Streaming (CES) hat die folgenden Einschränkungen:
- Plattformspezifische Einschränkungen
- Serverebene und allgemeine Einschränkungen
- Einschränkungen auf Datenbankebene
- Einschränkungen auf Tabellenebene
- Einschränkungen auf Spaltenebene
- Berechtigungen in der Quelldatenbank
- Netzwerk und Konnektivität
Plattformspezifische Einschränkungen
Bei SQL-Produkten, die mit einer Nicht-UTC-Zeitzone konfiguriert sind, enthält das committime Feld in einer Änderungsereignis-Streaming-Nachricht fälschlicherweise ein Z-Suffix, obwohl dieses Feld die lokale Zeit der Veröffentlichungsdatenbank anzeigt. Wenn die Datenbank UTC verwendet, stimmen Wert und Suffix überein. Dieses Problem ist bekannt, und eine Behebung steht in einer zukünftigen Version der Funktion noch aus.
Die folgenden Einschränkungen gelten für spezifische Plattformen für CES:
CES in SQL Server 2025 hat folgende Einschränkungen:
- Du musst die datenbankbezogene Konfiguration der Vorschaufunktion aktivieren.
- Microsoft Entra-Authentifizierung wird ab Cumulative Update 3 (CU3) für Instanzen unterstützt, die durch Azure Arc aktiviert sind oder auf einer Azure-VM laufen.
Serverebene und allgemeine Einschränkungen
Die folgende Liste beschreibt Serverebene und allgemeine Einschränkungen:
- CES wird unter Linux unter SQL Server 2025 (17.x) nicht unterstützt.
- CES gibt Ereignisse nur für Datenänderungen aus
INSERT,UPDATEundDELETEDML-Anweisungen aus. - CES behandelt keine Schemaänderungen (DDL-Vorgänge), was bedeutet, dass keine Ereignisse für DDL-Vorgänge ausgegeben werden. DDL-Vorgänge werden jedoch nicht blockiert. Wenn Sie sie ausführen, spiegelt das Schema der nachfolgenden DML-Ereignisse die aktualisierte Tabellenstruktur wider. Es wird erwartet, dass Sie Ereignisse mit dem aktualisierten Schema reibungslos und elegant behandeln.
- Derzeit streamt CES keine Daten, die in einer Tabelle vorhanden sind, bevor CES aktiviert ist. Vorhandene Daten werden nicht vorab geladen oder als Momentaufnahme gesendet, wenn CES aktiviert ist.
- Wenn eine Nachricht den Grenzwert für die Nachrichtengröße von Azure Event Hubs überschreitet, ist der Fehler derzeit nur über erweiterte Ereignisse feststellbar. CES xEvents sind derzeit nur in SQL Server 2025 und nicht in der Azure SQL-Datenbank verfügbar.
- Das Umbenennen von Tabellen und Spalten, die für CES konfiguriert sind, wird nicht unterstützt. Das Umbenennen einer Tabelle oder Spalte schlägt fehl. Datenbankbenennungen sind zulässig.
- CES ist nicht für azure SQL Managed Instance verfügbar, die mit der SQL Server 2022-Updaterichtlinie konfiguriert ist. Es ist nur für Instanzen verfügbar, die mit der SQL Server 2025- oder Always up-to-date-Aktualisierungsrichtlinie konfiguriert sind.
- Bei Verwendung des Kafka-Protokolls unterstützt CES keine SAS-Token-Authentifizierung. Die einzigen verfügbaren Authentifizierungsmethoden sind Microsoft Entra und Shared Access Policy Key Value.
Einschränkungen auf Datenbankebene
Die folgende Liste beschreibt die Einschränkungen auf Datenbankebene:
- CES unterstützt nur Datenbanken, die mit dem vollständigen Wiederherstellungsmodell konfiguriert sind.
- CES unterstützt keine Datenbanken, die mit Fabric Mirrored Databases für SQL Server, Transaktionsreplikation, Datenerfassung oder Azure Synapse Link konfiguriert sind. Die Änderungsnachverfolgung wird für Datenbanken unterstützt, die mit CES konfiguriert sind.
- CES kann nur aus schreibbaren primären Datenbanken streamen. Sekundäre Datenbanken, die Teil von AlwaysOn-Verfügbarkeitsgruppen sind oder die den Link "Verwaltete Instanz " verwenden, können nicht als Streamingquellen konfiguriert werden.
- Sie können CES nicht für Ansichten oder indizierte Ansichten aktivieren.
- Sie können bis zu 4.096 Datenstromgruppen konfigurieren. Jede Datenstromgruppe kann bis zu 40.000 Tabellen enthalten.
Einschränkungen auf Tabellenebene
Die folgende Liste beschreibt Einschränkungen auf Tabellenebene:
- Eine Tabelle kann nur zu einer Streaminggruppe gehören. Sie können dieselbe Tabelle nicht zu mehreren Zielen streamen.
- Sie können benutzertabellen nur für CES konfigurieren. CES unterstützt keine Streamingsystemtabellen.
- Während CES für eine Tabelle aktiviert ist, können Sie dieser Tabelle keine Primärschlüsseleinschränkung hinzufügen oder ablegen.
- Tabellennamen, die einen Punkt (
.) enthalten, werden derzeit nicht unterstützt. -
ALTER TABLE SWITCH PARTITIONwird für Tabellen, die für CES konfiguriert sind, nicht unterstützt. -
TRUNCATE TABLEwird für Tabellen, die für CES aktiviert sind, nicht unterstützt. - CES unterstützt keine Tabellen, die eines der folgenden Features verwenden:
- Gruppierte Columnstore-Indizes
- Zeitliche Verlaufstabellen oder Sachbuchverlaufstabellen
- Immer Verschlüsselt
- In-Memory OLTP (speicheroptimierte Tabellen)
- Diagrammtabellen
- Externe Tabellen
Von Bedeutung
Onlineindexvorgänge können erhebliche Mengen an Transaktionsprotokolldatensätzen generieren. CES muss deutlich mehr Daten verarbeiten, was zu einer erhöhten Ereignislatenz führen kann.
Einschränkungen auf Spaltenebene
Die folgende Liste beschreibt Einschränkungen auf Spaltenebene:
- CES unterstützt die folgenden Datentypen nicht. Streaming überspringt Spalten dieser Typen:
- geography
- geometry
- image
- json
- rowversion / Zeitstempel
- sql_variant
- Text / ntext
- vector
- xml
- Benutzerdefinierte Typen (UDT)
- Wenn eine oder mehrere gestreamte Spaltenwerte größer als 1 MB sind, verkürzt CES jeden betroffenen Spaltenwert auf 1 MB, bevor das ausgehende Ereignis entsteht. Diese Abkürzung ist bedingungslos und protokolliert keine Fehler oder Warnungen. Konfigurieren Sie die Konfigurationsoption für die maximale Textrepl-Servergröße so, dass mehr als 65.536 Bytes in LOB-Spalten geschrieben werden können, wenn CES aktiviert ist.
Berechtigungen in der Quelldatenbank und Datenresidenz
Die folgende Liste beschreibt Berechtigungen und Einschränkungen bei der Datenresidenz:
- Für die Sicherheit auf Zeilenebene gibt CES Änderungen von allen Zeilen unabhängig von den Benutzerberechtigungen aus.
- Die dynamische Datenmaskierung gilt nicht für Daten, die über CES gesendet werden. Daten werden ungemasket gestreamt, auch wenn die Maskierung konfiguriert ist.
- CES gibt keine Ereignisse aus, die sich auf Berechtigungsänderungen auf Objektebene beziehen (z. B. das Erteilen von Berechtigungen für bestimmte Spalten).
- CES streamt Daten an das konfigurierte Ziel, wenn die Netzwerkkonfiguration dies zulässt. Wenn sich das Ziel in einer anderen Region befindet, streamt CES die Daten über Regionen hinweg. Stellen Sie sicher, dass dies Ihren Anforderungen an die Datenspeicherung und Konformität entspricht.
Netzwerk und Konnektivität
Die folgende Liste beschreibt eine Netzwerk- und Konnektivitätsbeschränkung:
- Derzeit kann CES nur auf öffentliche Azure Event Hubs-Endpunkte streamen. Dienstendpunkte und private Endpunkte werden derzeit nicht unterstützt.
- Wenn Sie das AMQP-Protokoll auf Azure SQL Managed Instance oder SQL Server 2025 verwenden (für bestehende Stream-Gruppen, die noch nicht migriert sind), stellen Sie die Konfigurationsoption für die minimale TLS-Version von Azure Event Hubs auf 1.2. CES funktioniert nicht mit TLS 1.3 über das AMQP-Protokoll.