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.
Dieser Artikel beschreibt die Abschaffung des AMQP-Protokolls für die Change Event Streaming (CES)-Funktion in SQL Server 2025, Azure SQL-Datenbank, Azure SQL Managed Instance und SQL Database in Microsoft Fabric.
Die Abkündigung des AMQP-Protokolls führt beim Erstellen neuer Streamgruppen zu einer nicht abwärtskompatiblen Änderung des Konfigurationswerts destination_type. Der Rollout-Zeitplan variiert je nach Produkt. Dieser Artikel erklärt, wie sich diese Änderungen auf neue und bestehende Stream-Gruppen auswirken, welche plattformspezifischen Unterschiede es gibt und wie bestehende Stream-Gruppen vom AMQP-Protokoll zum Kafka-Protokoll migriert werden können.
Was ist das AMQP-Protokoll?
Das AMQP-Protokoll ("AMQP") war eines von zwei Protokollen, die CES beim Senden von Änderungsereignissen an Azure Event Hubs und Fabric Eventstream unterstützte. Es handelte sich um eine Service-to-Service-Implementierung, die Ereignisse für Azure Event Hubs und Fabric Eventstream veröffentlichte.
Vor dieser fehlerhaften Änderung hast du das Protokoll im destination_type Konfigurationswert angegeben, wenn du eine Stream-Gruppe konfiguriert hast, wobei du einen der folgenden unterstützten Werte verwendet hast:
-
AzureEventHubsAMQP- AMQP-Protokoll -
AzureEventHubsApacheKafka- Kafka-Protokoll
Nach dieser bahnbrechenden Änderung ist AzureEventHubsder einzige unterstützte destination_type Wert für neu erstellte Stream-Gruppen in Azure SQL-Datenbank und SQL-Datenbank in Microsoft Fabric , das das Kafka-Protokoll verwendet. Azure SQL Managed Instance und SQL Server 2025 akzeptieren weiterhin AzureEventHubsAMQP und AzureEventHubsApacheKafka.
Seit dem 15. August 2026 müssen AzureEventHubs Streamgruppen in Azure SQL-Datenbank als destination_type verwenden. Versuche, eine Stream-Gruppe mit vorherigen Werten zu erstellen, schlagen fehl.
Die Konsumenten von auf Azure Event Hubs veröffentlichten Nachrichten können unabhängig vom Protokoll, das die Nachricht veröffentlicht, zwischen dem AMQP- oder Kafka-Protokoll wählen.
Unterstützung der Plattform für „destination_type“-Werte
Die erlaubten destination_type Werte beim Erstellen einer neuen Stream-Gruppe hängen vom Produkt und der Version ab:
| Produkt | Erlaubte Werte destination_type |
Hinweise |
|---|---|---|
| Azure SQL-Datenbank | AzureEventHubs |
Der einzige unterstützte Wert.
AzureEventHubsAMQP und AzureEventHubsApacheKafka sind für neue Stream-Gruppen nicht zugelassen. |
| Azure SQL Managed Instance |
AzureEventHubsAMQP, AzureEventHubsApacheKafka |
Diese Werte werden weiterhin akzeptiert, sind aber veraltet. Verwenden Sie AzureEventHubsAMQP nicht für neue Stream-Gruppen. |
| SQL Server 2025 |
AzureEventHubsAMQP, AzureEventHubsApacheKafka |
Diese Werte werden weiterhin akzeptiert, sind aber veraltet. Verwenden Sie AzureEventHubsAMQP nicht für neue Stream-Gruppen. |
| SQL-Datenbank in Microsoft Fabric | AzureEventHubs |
Der einzige unterstützte Wert. |
Für neue Stream-Gruppen solltest du verwenden AzureEventHubs , wenn die Plattform es unterstützt. Für Azure SQL Managed Instance und SQL Server 2025 verwenden Sie AzureEventHubsApacheKafka (Kafka-Protokoll). Verwenden Sie AzureEventHubsAMQP nicht für neue Stream-Gruppen.
Wie man AMQP-konfigurierte Stream-Gruppen zu Kafka migriert
Bestehende CES-Gruppen, die mit AzureEventHubsAMQP konfiguriert sind, veröffentlichen weiterhin bis April 2027 Nachrichten mithilfe des AMQP-Protokolls. Erstellen Sie Ihre vorhandenen AMQP-konfigurierten Streamgruppen in SQL Server 2025, Azure SQL-Datenbank, Azure SQL Managed Instance oder einer SQL-Datenbank in Microsoft Fabric so bald wie möglich neu, indem Sie AzureEventHubs als destination_type verwenden.
Verwenden Sie die folgende Abfrage, um alle konfigurierten Stream-Gruppen zu identifizieren:
exec sp_help_change_event_stream_groups
Speichern Sie die Konfigurationswerte für die Streamgruppen, die in der Spalte streaming_dest_type den Wert AzureEventHubsAMQP haben. Du brauchst diese Werte beim Erstellen der neuen Stream-Gruppen.
Verwenden Sie die folgende Abfrage, um die Tabellen in jeder Stream-Gruppe zu identifizieren, die Sie migrieren müssen:
exec sys.sp_help_change_event_stream_tables
Um eine AMQP-konfigurierte Stream-Gruppe nach Kafka zu migrieren, folgen Sie diesen Schritten:
Erstellen Sie einen Ersatzstrom mit dem sys.sp_create_event_stream_group gespeicherten Verfahren. Gib
AzureEventHubsals dendestination_type-Parameter an.Der Parameter
destination_locationerwartet Port 9093, wie im folgenden Beispiel:myEventHubsNamespace.servicebus.windows.net:9093/myEventHubsInstance.Das Kafka-Protokoll unterstützt Microsoft Entra oder Serviceschlüssel-Authentifizierung. Die SAS-Authentifizierung ist für CES nun nicht mehr verfügbar.
Entferne jede Tabelle einzeln aus der alten Stream-Gruppe mit sys.sp_remove_object_from_event_stream_group:
exec sys.sp_remove_object_from_event_stream_group @stream_group_name = '<old_stream_group_name>', @object_name = '<schema.table_name>'Fügen Sie jede Tabelle, die Sie aus der alten Stream-Gruppe entfernt haben, mit sys.sp_add_object_to_event_stream_group zur neuen Ersatz-Stream-Gruppe hinzu:
exec sys.sp_add_object_to_event_stream_group @stream_group_name = '<new_stream_group_name>', @object_name = '<schema.table_name>'Sobald du alle Tabellen zur neuen Stream-Gruppe hinzugefügt hast, verwende sys.sp_drop_event_stream_group , um die alte Stream-Gruppe zu entfernen. Für Details siehe configure CES.
exec sys.sp_drop_event_stream_group @stream_group_name = '<old_stream_group_name>'Überprüfen Sie, ob die neue Stream-Gruppe aktiv ist, indem Sie
sp_help_change_event_stream_groupsausführen und bestätigen, dass streaming_dest_type alsAzureEventHubsangezeigt wird.
Wiederholen Sie diesen Vorgang für jede AMQP-konfigurierte Stream-Gruppe in Ihrer Umgebung.
Verschieben von Tabellen in neue Stream-Gruppen (Kafka)
CES erfasst und veröffentlicht Änderungen aus der Protokolldatei, sobald sie erstellt werden, aber durch Veröffentlichungslatenz können Ereignisse verzögert werden. Wenn du eine Tabelle aus einer Stream-Gruppe entfernst, werden ausstehende Änderungen in der Logdatei nicht veröffentlicht. Koordinieren Sie daher das Verschieben von Tabellen zwischen Stream-Gruppen sorgfältig, um keine Ereignisse zu verpassen.
Bevor Sie eine Tabelle aus einer Stream-Gruppe entfernen, prüfen Sie das sys.dm_change_feed_log_scan_sessions DMV, um sicherzustellen, dass keine ausstehenden Änderungen auf den Tabellen veröffentlicht werden müssen. Wenn Änderungen ausstehen, warten Sie, bis der Prozess diese veröffentlicht, bevor Sie die Tabelle aus der alten Stream-Gruppe entfernen und zur neuen Stream-Gruppe hinzufügen.
Um das Risiko, Ereignisse zu verpassen, zu verringern, verwenden Sie eine der folgenden Ansätze:
- Verschieben Sie die Tabellen zwischen Stream-Gruppen während eines dedizierten Wartungsfensters, wenn keine Schreibvorgänge an den Tabellen stattfinden.
- Setzen Sie eine exklusive Sperre auf die Tabellen, die während einer Phase geringer Aktivität gestreamt werden, um neue Schreibvorgänge in diese Tabellen zu verhindern. Geben Sie die exklusive Sperre erst frei, nachdem die Tabellen der neuen Stream-Gruppe zugeordnet wurden.
Zeitpläne für Abkündigungen
Die Abschaffung des AMQP-Protokolls folgt diesen beiden Zeitlinien:
| Flussgruppentyp | Gültigkeitsdatum | Auswirkung |
|---|---|---|
| Neue Stream-Gruppen auf Azure SQL-Datenbank und SQL Database in Microsoft Fabric | 15. August 2026 | Neu erstellte Stream-Gruppen müssen AzureEventHubs als destination_type angeben. Der Versuch, entweder AzureEventHubsAMQP oder AzureEventHubsApacheKafka zu verwenden, schlägt fehl. |
| Neue Stream-Gruppen auf Azure SQL Managed Instance und SQL Server 2025 | Künftiges Update (wird noch festgelegt) |
AzureEventHubsAMQP und AzureEventHubsApacheKafka werden weiterhin akzeptiert, sind aber veraltet. Ein zukünftiges Update fügt AzureEventHubs als erforderlichen Wert hinzu. |
| Bestehende Stromgruppen mit dem AMQP-Protokoll | April 2027 | Stream-Gruppen, die bereits mit AzureEventHubsAMQP konfiguriert sind, funktionieren bis zu diesem Datum weiterhin normal. Sie müssen migriert werden, um das Kafka-Protokoll zu verwenden, bevor die Unterstützung für das AMQP-Protokoll entfernt wird. |
Konsumenten veröffentlichter Nachrichten müssen keine Änderungen vornehmen.
Auswirkungen der Wertminderung
Dieser Abschnitt beschreibt die Auswirkungen der Abschaffung des AMQP-Protokolls, wie zum Beispiel:
- Auswirkungen auf die Konsumenten veröffentlichter Nachrichten
- Auswirkungen auf bestehende AMQP-Strömungsgruppen
- Auswirkungen auf neu erstellte Stream-Gruppen
- Auswirkungen auf die Netzwerkkonfiguration des Publishers
Auswirkungen auf die Konsumenten veröffentlichter Nachrichten
Das Protokoll, das zum Ziel geschrieben wird (entweder Azure Event Hubs oder Fabric Eventstream), ist unabhängig vom von Nachrichtenkonsumenten verwendeten Protokoll. Daher beeinflusst der Wechsel vom AMQP- zum Kafka-Protokoll für Nachrichtenveröffentlichung die Nachrichtenkonsumenten nicht. Sie können weiterhin Nachrichten über beide Protokolle konsumieren.
Auswirkungen auf bestehende AMQP-Streamgruppen
Bestehende Stream-Gruppen, die konfiguriert sind AzureEventHubsAMQP, arbeiten weiterhin as-is mit dem AMQP-Protokoll. Für diese Gruppen ist keine sofortige Unterbrechung oder Konfigurationsänderung erforderlich. Allerdings müssen Sie AMQP-konfigurierte Stream-Gruppen migrieren, um das Kafka-Protokoll zu nutzen, bevor die Unterstützung für das AMQP-Protokoll im April 2027 entfernt wird.
Auswirkungen auf neu erstellte Stream-Gruppen
Ab dem 15. August 2026 ist der einzige zulässige destination_type-Wert für neu erstellte Stream-Gruppen in Azure SQL-Datenbank und SQL-Datenbank in Microsoft Fabric AzureEventHubs. Versuche, eine Stream-Gruppe unter Verwendung entweder des vorherigen Werts, AzureEventHubsAMQP oder AzureEventHubsApacheKafka zu erstellen, schlagen mit der folgenden Fehlermeldung fehl:
Msg 23626, Level 16, State 2, Line 481, An error occurred. The error/state returned was 23618/5: 'The value provided for the argument '@destination_type' is invalid. Allowed values: AzureEventHubs.'
Aktualisieren Sie alle Automatisierungsskripte, die Stream-Gruppen erstellen, vor diesem Datum. Der Parameter destination_type muss AzureEventHubs anstelle von AzureEventHubsAMQP oder AzureEventHubsApacheKafka verwenden.
Das Kafka-Protokoll verwendet Microsoft Entra oder Serviceschlüssel-Authentifizierung, um sich mit Azure Event Hubs oder Fabric Eventstream zu verbinden. Wenn deine bestehenden AMQP-Stream-Gruppen SAS-Authentifizierung verwenden, musst du beim Erstellen neuer Stream-Gruppen entweder auf Microsoft Entra oder Service-Key-Authentifizierung umsteigen. Siehe Change Event Streaming konfigurieren für Details zur Konfiguration der Authentifizierung für Stream-Gruppen.
Auswirkungen auf die Netzwerkkonfiguration des Publishers
Je nachdem, wie du das Netzwerk auf der Veröffentlichungsseite konfigurierst, musst du möglicherweise erlaubte ausgehende Ports neu konfigurieren, um Kafkas Port 9093 zu verwenden, statt der 5671 - und 5672-Ports , die von AMQP verwendet werden. Der Publisher muss ausgehenden Verkehr auf Port 9093 erlauben.
Lass die Ports 5671 und 5672 nur offen, wenn du bereits Stream-Gruppen hast, die das AMQP-Protokoll noch verwenden. Diese Ports sind für neu erstellte Stream-Gruppen, die das Kafka-Protokoll verwenden, nicht erforderlich.
Weitere Informationen finden Sie unter Azure Event Hubs Firewall-Konfiguration pro Protokoll.
Verwandte Inhalte
- Was ist Change Event Streaming (Vorschau)?
- Streaming von Änderungsereignissen (Vorschau) für Azure Event Hubs konfigurieren
- JSON-Nachrichtenformat – Ändern des Ereignisstreamings
- FAQ zum Event-Streaming ändern
- sys.dm_change_feed_log_scan_sessions (Transact-SQL)
- Azure Event Hubs-Firewallkonfiguration nach Protokoll