Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Denna artikel beskriver avvecklingen av AMQP-protokollet för change event streaming (CES)-funktionen i SQL Server 2025, Azure SQL Database, Azure SQL Managed Instance och SQL Database i Microsoft Fabric.
Avvecklingen av AMQP-protokollet innebär en brytande ändring av konfigurationsvärdet destination_type vid skapande av nya strömgrupper. Utrullningsschemat varierar mellan produkter. Denna artikel förklarar hur dessa förändringar påverkar nya och befintliga strömgrupper, plattformsspecifika skillnader och hur man migrerar befintliga strömgrupper från AMQP-protokollet till Kafka-protokollet.
Vad är AMQP-protokollet?
AMQP-protokollet ("AMQP") var ett av två protokoll som CES stödde vid överföring av ändringshändelser till Azure Event Hubs och Fabric Eventstream. Det var en service-to-service-implementation som publicerade händelser till Azure Event Hubs och Fabric Eventstream.
Innan denna brytande ändring specificerade du protokollet i konfigurationsvärdet destination_type när du konfigurerade en strömgrupp, med ett av följande stödda värden:
-
AzureEventHubsAMQP- AMQP-protokoll -
AzureEventHubsApacheKafka- Kafkaprotokollet
Efter denna bakåtkompatibilitetsbrytande ändring är det enda värde för destination_type som stöds för nyskapade strömgrupper i Azure SQL Database och SQL-databas i Microsoft Fabric AzureEventHubs, som använder Kafka-protokollet. Azure SQL Managed Instance och SQL Server 2025 accepterar fortfarande AzureEventHubsAMQP och AzureEventHubsApacheKafka.
Från och med den 15 augusti 2026 måste nyskapade strömgrupper i Azure SQL Database använda AzureEventHubs som destination_type. Försök att skapa en strömgrupp med tidigare värden misslyckas.
Konsumenter av meddelanden publicerade till Azure Event Hubs kan välja mellan AMQP- eller Kafka-protokollet oavsett vilket protokoll som publicerar meddelandet.
Plattformsstöd för värdena för destination_type
De tillåtna destination_type värdena vid skapande av en ny strömgrupp beror på produkten och versionen:
| Produkt | Tillåtna destination_type värden |
Notes |
|---|---|---|
| Azure SQL Database | AzureEventHubs |
Det enda stödda värdet.
AzureEventHubsAMQP och AzureEventHubsApacheKafka accepteras inte för nya stream-grupper. |
| Azure SQL Managed Instance (en hanterad instans av SQL i Azure) |
AzureEventHubsAMQP, AzureEventHubsApacheKafka |
Dessa värden accepteras fortfarande men är föråldrade. Undvik AzureEventHubsAMQP för nya strömgrupper. |
| SQL Server 2025 |
AzureEventHubsAMQP, AzureEventHubsApacheKafka |
Dessa värden accepteras fortfarande men är föråldrade. Undvik AzureEventHubsAMQP för nya strömgrupper. |
| SQL-databas i Microsoft Fabric | AzureEventHubs |
Det enda stödda värdet. |
För nya strömgrupper, använd AzureEventHubs när plattformen stödjer det. För Azure SQL Managed Instance och SQL Server 2025, använd AzureEventHubsApacheKafka (Kafka-protokollet). Undvik AzureEventHubsAMQP för nya strömgrupper.
Hur man migrerar AMQP-konfigurerade strömgrupper till Kafka
Befintliga CES-grupper som konfigurerats med AzureEventHubsAMQP fortsätter att publicera meddelanden med hjälp av AMQP-protokollet fram till april 2027. Återskapa dina befintliga AMQP-konfigurerade strömgrupper i SQL Server 2025, Azure SQL Database, Azure SQL Managed Instance eller SQL-databas i Microsoft Fabric genom att använda AzureEventHubs som destination_type så snart som möjligt.
Använd följande fråga för att identifiera alla konfigurerade strömgrupper:
exec sp_help_change_event_stream_groups
Spara konfigurationsvärdena för strömgrupperna som har AzureEventHubsAMQP i kolumnen streaming_dest_type . Du behöver dessa värden när du skapar de nya strömgrupperna.
Använd följande fråga för att identifiera tabellerna i varje strömgrupp som du behöver migrera:
exec sys.sp_help_change_event_stream_tables
För att migrera en AMQP-konfigurerad strömgrupp till Kafka, följ dessa steg:
Skapa en ersättningsström genom att använda proceduren sys.sp_create_event_stream_group lagrad. Ange
AzureEventHubssom parameterndestination_type.Parametern
destination_locationförväntar sig port 9093, såsom följande exempel:myEventHubsNamespace.servicebus.windows.net:9093/myEventHubsInstance.Kafka-protokollet stödjer Microsoft Entra eller tjänstenyckelautentisering. SAS-autentisering är nu inte tillgänglig för CES.
Ta bort varje tabell, en efter en, från den gamla strömgruppen genom att använda 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>'Lägg till varje tabell du tog bort från den gamla strömgruppen till den nya ersättningsströmgruppen genom att använda sys.sp_add_object_to_event_stream_group:
exec sys.sp_add_object_to_event_stream_group @stream_group_name = '<new_stream_group_name>', @object_name = '<schema.table_name>'När du har lagt till alla tabeller i den nya strömgruppen, använd sys.sp_drop_event_stream_group för att ta bort den gamla strömgruppen. För detaljer, granska configure CES.
exec sys.sp_drop_event_stream_group @stream_group_name = '<old_stream_group_name>'Kontrollera att den nya strömningsgruppen är aktiv genom att köra
sp_help_change_event_stream_groupsoch bekräfta attAzureEventHubsvisas som streaming_dest_type.
Upprepa denna process för varje AMQP-konfigurerad strömgrupp i din miljö.
Flytta tabeller till nya strömgrupper (Kafka)
CES skannar och publicerar ändringar från loggfilen i samma ögonblick som de skapas, men publiceringslatens kan orsaka att händelser laggar. När du tar bort en tabell från en strömgrupp publiceras inte väntande ändringar i loggfilen. Planera därför noggrant flytten av tabeller mellan strömgrupper för att undvika att händelser missas.
Innan du tar bort en tabell från en strömgrupp, kontrollera sys.dm_change_feed_log_scan_sessions DMV för att säkerställa att inga väntande ändringar ska publiceras i tabellerna. Om det finns väntande ändringar, vänta tills processen publicerar dem innan du tar bort tabellen från den gamla strömgruppen och lägger till den i den nya strömgruppen.
För att minska risken för att missa evenemang, använd en av följande metoder:
- Flytta tabellerna mellan strömgrupper under ett dedikerat underhållsfönster när inga skrivningar sker till tabellerna.
- Placera ett exklusivt lås på tabellerna som strömmas under en period med låg aktivitet för att förhindra nya skrivningar till dessa tabeller. Frigör det exklusiva låset först när tabellerna finns i den nya strömgruppen.
Tidslinjer för avskrivningar
Avvecklingen av AMQP-protokollet följer dessa två tidslinjer:
| Strömgruppstyp | Gäller från | Påverkan |
|---|---|---|
| Nya strömgrupper på Azure SQL Database och SQL database i Microsoft Fabric | 15 augusti 2026 | Nyligen skapade strömgrupper måste specificera AzureEventHubs som .destination_type Försök att använda någon av dem AzureEventHubsAMQP eller AzureEventHubsApacheKafka misslyckas. |
| Nya strömgrupper på Azure SQL Managed Instance och SQL Server 2025 | Framtida uppdatering (ej bestämt) |
AzureEventHubsAMQP och AzureEventHubsApacheKafka accepteras fortfarande men är utfasade. En framtida uppdatering tillför AzureEventHubs det nödvändiga värdet. |
| Befintliga strömgrupper som använder AMQP-protokollet | april 2027 | Strömgrupper som redan har konfigurerats med AzureEventHubsAMQP fortsätter att fungera normalt fram till detta datum. De måste migreras till att använda Kafka-protokollet innan stödet för AMQP-protokollet tas bort. |
Konsumenter av publicerade meddelanden behöver inte göra några ändringar.
Avskrivningspåverkan
Detta avsnitt beskriver effekten av avveckling av AMQP-protokollet, såsom:
- Påverkan på konsumenter av publicerade meddelanden
- Påverkan på befintliga AMQP-strömgrupper
- Påverkan på nybildade bäckgrupper
- Påverkan på utgivarens nätverkskonfiguration
Påverkan på konsumenter av publicerade meddelanden
Protokollet som används för att skriva till destinationen (antingen Azure Event Hubs eller Fabric Eventstream) är oberoende av protokollet som används av meddelandekonsumenter. Därför påverkar inte byte från AMQP till Kafka-protokollet för meddelandepublicering meddelandekonsumenterna. De kan fortsätta att konsumera meddelanden med båda protokollen.
Påverkan på befintliga AMQP-strömgrupper
Befintliga strömgrupper som konfigurerats med AzureEventHubsAMQPfortsätter att fungera som tidigare med AMQP-protokollet. Det krävs ingen omedelbar avbrott eller konfigurationsändring för dessa grupper. Du måste dock migrera AMQP-konfigurerade strömgrupper till att använda Kafka-protokollet innan stödet för AMQP-protokollet tas bort i april 2027.
Påverkan på nybildade bäckgrupper
Från och med den 15 augusti 2026 är AzureEventHubs det enda tillåtna destination_type-värdet för nyskapade strömgrupper i Azure SQL Database och SQL-databaser i Microsoft Fabric. Försök att skapa en strömgrupp genom att använda antingen föregående värde, AzureEventHubsAMQP eller AzureEventHubsApacheKafka, misslyckas med följande felmeddelande:
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.'
Uppdatera alla automationsskript som skapar strömgrupper före detta datum. Parametern destination_type måste använda AzureEventHubs istället för AzureEventHubsAMQP eller AzureEventHubsApacheKafka.
Kafka-protokollet använder Microsoft Entra eller tjänstenyckelautentisering för att ansluta till Azure Event Hubs eller Fabric Eventstream. Om dina befintliga AMQP-strömgrupper använder SAS-autentisering behöver du byta till antingen Microsoft Entra eller tjänstenyckelautentisering när du skapar nya strömgrupper. Se Konfigurera strömning av förändringshändelser för detaljer om hur man konfigurerar autentisering för strömgrupper.
Påverkan på utgivarens nätverkskonfiguration
Beroende på hur du konfigurerar nätverket på publiceringssidan kan du behöva konfigurera om tillåtna utgående portar för att använda Kafkas port 9093, istället för de 5671 och 5672 portar som AMQP använder. Utgivaren måste tillåta utgående trafik på port 9093.
Låt portarna 5671 och 5672 vara öppna om du har befintliga strömgrupper som fortfarande använder AMQP-protokollet. Dessa portar krävs inte för nyskapade strömgrupper som använder Kafka-protokollet.
För mer information, se Azure Event Hubs brandväggskonfiguration per protokoll.
Relaterat innehåll
- Vad är strömning av ändringshändelser (förhandsversion)?
- Konfigurera strömning av ändringshändelser (förhandsversion) till Azure Event Hubs
- JSON-meddelandeformat – ändra händelseströmning
- Ändra FAQ för evenemangsströmning
- sys.dm_change_feed_log_scan_sessions (Transact-SQL)
- Azure Event Hubs brandväggskonfiguration per protokoll