Streaming von Änderungsereignissen an Azure Event Hubs konfigurieren (Vorschau)

Gilt für: SQL Server 2025 (17.x) Azure SQL-DatenbankAzure SQL Managed InstanceSQL-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

  1. Verwenden Sie einen vorhandenen oder erstellen Sie eine neue Azure Event Hubs-Namespace - und Event Hubs-Instanz. Die Event Hubs-Instanz empfängt Ereignisse.
  2. Aktivieren Sie das Streaming von Änderungsereignissen für eine Benutzerdatenbank.
  3. Erstelle eine Stream-Gruppe. Konfigurieren Sie mit dieser Gruppe das Ziel, die Anmeldeinformationen, die Größenbeschränkungen für Nachrichten und das Partitionierungsschema.
  4. 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:

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:

  1. Wenn sie noch nicht konfiguriert ist, legen Sie die Datenbank auf das vollständige Wiederherstellungsmodell fest.
  2. Erstellen Sie einen Hauptschlüssel und eine datenbankabhängige Berechtigung.
  3. Aktivieren des Ereignisstreamings.
  4. Erstellen Sie die Stream-Gruppe.
  5. Füge eine oder mehrere Tabellen zur Stream-Gruppe hinzu.

Die folgenden Beispiele zeigen, wie CES plattformweise aktiviert werden kann:

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:

  1. Kürzt den Wert der ersten Spalte auf 1 MB.
  2. Kürzt den Wert der zweiten Spalte auf 1 MB.
  3. Kürzt den Wert der dritten Spalte auf 1 MB.
  4. 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
Konfigurieren der CES
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.
CES deaktivieren
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.
Überwachung von CES
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

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:

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, UPDATEund DELETE DML-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 PARTITION wird für Tabellen, die für CES konfiguriert sind, nicht unterstützt.
  • TRUNCATE TABLE wird 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.