Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Este artículo describe la desueciación del protocolo AMQP para la función de transmisión de eventos de cambio (CES) en SQL Server 2025, Azure SQL Database, Azure SQL Managed Instance y la base de datos SQL en Microsoft Fabric.
El desuso del protocolo AMQP introduce un cambio incompatible en el valor de configuración destination_type al crear grupos de secuencias nuevos. El calendario de despliegue varía según el producto. Este artículo explica cómo estos cambios afectan a los grupos de flujo nuevos y existentes, las diferencias específicas de la plataforma y cómo migrar grupos de flujo existentes del protocolo AMQP al protocolo Kafka.
¿Qué es el protocolo AMQP?
El protocolo AMQP ("AMQP") fue uno de los dos protocolos que CES soportó al enviar eventos de cambio a Azure Event Hubs y Fabric Eventstream. Era una implementación de servicio a servicio que publicaba eventos en Azure Event Hubs y Fabric Eventstream.
Antes de este cambio disruptivo, especificaste el protocolo en el destination_type valor de configuración al configurar un grupo de flujo, usando uno de los siguientes valores soportados:
-
AzureEventHubsAMQP- Protocolo AMQP -
AzureEventHubsApacheKafka- Protocolo Kafka
Tras este cambio repentino, el único valor soportado destination_type para grupos de flujos recién creados en Azure SQL Database y SQL Database en Microsoft Fabric es AzureEventHubs, que utiliza el protocolo Kafka. Azure SQL Managed Instance y SQL Server 2025 siguen aceptando AzureEventHubsAMQP y AzureEventHubsApacheKafka.
A fecha de 15 de agosto de 2026, los grupos de flujo recién creados en Azure SQL Database deben usar AzureEventHubs como el destination_type. Los intentos de crear un grupo de flujo usando valores anteriores fracasan.
Los consumidores de mensajes publicados en Azure Event Hubs pueden elegir entre el protocolo AMQP o Kafka, independientemente del protocolo que publique el mensaje.
Compatibilidad de la plataforma con los valores de destination_type
Los valores permitidos destination_type al crear un nuevo grupo de flujo dependen del producto y la versión:
| Producto | Valores permitidos destination_type |
Notas |
|---|---|---|
| Azure SQL Database | AzureEventHubs |
El único valor respaldado.
AzureEventHubsAMQP y AzureEventHubsApacheKafka no se aceptan para grupos nuevos de secuencias. |
| Instancia administrada de Azure SQL |
AzureEventHubsAMQP, AzureEventHubsApacheKafka |
Estos valores siguen siendo aceptados, pero están obsoletos. Evita AzureEventHubsAMQP para los nuevos grupos de secuencias. |
| SQL Server 2025 |
AzureEventHubsAMQP, AzureEventHubsApacheKafka |
Estos valores siguen siendo aceptados, pero están obsoletos. Evita AzureEventHubsAMQP para los nuevos grupos de secuencias. |
| Base de datos SQL en Microsoft Fabric | AzureEventHubs |
El único valor respaldado. |
Para grupos nuevos de streaming, úsalo AzureEventHubs cuando la plataforma lo permita. Para Azure SQL Managed Instance y SQL Server 2025, use AzureEventHubsApacheKafka (protocolo Kafka). Evita AzureEventHubsAMQP para los nuevos grupos de secuencias.
Cómo migrar grupos de flujo configurados por AMQP a Kafka
Los grupos CES existentes configurados con AzureEventHubsAMQP continúan publicando mensajes mediante el protocolo AMQP hasta abril de 2027. Recrea tus grupos de secuencias configurados con AMQP en SQL Server 2025, Azure SQL Database, Azure SQL Managed Instance o una base de datos SQL en Microsoft Fabric mediante AzureEventHubs en cuanto destination_type sea posible.
Utilice la siguiente consulta para identificar todos los grupos de flujos configurados:
exec sp_help_change_event_stream_groups
Guarda los valores de configuración de los grupos de flujo que tienen AzureEventHubsAMQP en la columna streaming_dest_type . Necesitas estos valores al crear los nuevos grupos de stream.
Utiliza la siguiente consulta para identificar las tablas de cada grupo de flujo que necesitas migrar:
exec sys.sp_help_change_event_stream_tables
Para migrar un grupo de flujo configurado por AMQP a Kafka, sigue estos pasos:
Crea un flujo de reemplazo usando el procedimiento sys.sp_create_event_stream_group almacenado. Especifica
AzureEventHubscomo parámetrodestination_type.El
destination_locationparámetro espera el puerto 9093, como en el siguiente ejemplo:myEventHubsNamespace.servicebus.windows.net:9093/myEventHubsInstance.El protocolo Kafka soporta la autenticación Microsoft Entra o clave de servicio. La autenticación SAS ya no está disponible para CES.
Elimina cada tabla, una por una, del antiguo grupo de flujo usando 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>'Añade cada tabla que eliminaste del antiguo grupo de flujo al nuevo grupo de flujo de reemplazo usando 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>'Una vez que añadas todas las tablas al nuevo grupo de stream, usa sys.sp_drop_event_stream_group para eliminar el grupo de stream antiguo. Para más detalles, consulta configurar CES.
exec sys.sp_drop_event_stream_group @stream_group_name = '<old_stream_group_name>'Verifique que el nuevo grupo de flujo esté activo ejecutando
sp_help_change_event_stream_groupsy confirmando que muestraAzureEventHubscomo streaming_dest_type.
Repite este proceso para cada grupo de flujo configurado por AMQP en tu entorno.
Traslado de tablas a nuevos grupos de flujos (Kafka)
CES escanea y publica los cambios del archivo de registro en el momento en que se crean, pero la latencia de publicación puede causar que los eventos se retrasen. Cuando eliminas una tabla de un grupo de stream, los cambios pendientes en el archivo de registro no se publican. Por ello, coordina cuidadosamente el traslado de las tablas entre grupos de streams para evitar que se pierdan eventos.
Antes de eliminar una tabla de un grupo de streaming, consulta el DMV sys.dm_change_feed_log_scan_sessions para asegurarte de que no hay cambios pendientes que publicar en las tablas. Si hay cambios pendientes, espera a que el proceso los publique antes de eliminar la tabla del grupo de flujo antiguo y añadirla al grupo nuevo.
Para mitigar el riesgo de eventos perdidos, utiliza uno de los siguientes enfoques:
- Mueva las tablas entre grupos de secuencias durante una ventana de mantenimiento específica cuando no se estén realizando escrituras en las tablas.
- Aplique un bloqueo exclusivo en las tablas que se están transmitiendo durante un periodo de baja actividad para evitar nuevas operaciones de escritura en esas tablas. Libera el bloqueo exclusivo solo cuando las tablas estén en el nuevo grupo de streams.
Plazos de obsolescencia
La desactivación del protocolo AMQP sigue estos dos plazos:
| Tipo de grupo de flujo | Fecha desde | Impacto |
|---|---|---|
| Nuevos grupos de flujos en Azure SQL Database y SQL Database en Microsoft Fabric | 15 de agosto de 2026 | Los grupos de flujo recién creados deben especificar AzureEventHubs como el destination_type. Los intentos de usar AzureEventHubsAMQP o AzureEventHubsApacheKafka fallan. |
| Nuevos grupos de flujos en Azure SQL Managed Instance y SQL Server 2025 | Actualización futura (por determinar) |
AzureEventHubsAMQP y AzureEventHubsApacheKafka siguen siendo aceptadas pero desestimadas. Una futura actualización añade AzureEventHubs como el valor requerido. |
| Grupos de flujo existentes que utilizan el protocolo AMQP | Abril de 2027 | Los grupos de transmisión ya configurados con AzureEventHubsAMQP continúan funcionando normalmente hasta esta fecha. Deben ser migrados para usar el protocolo Kafka antes de que se elimine el soporte para el protocolo AMQP. |
Los consumidores de mensajes publicados no necesitan hacer ningún cambio.
Impacto de la depreciación
Esta sección describe el impacto de la deprecación del protocolo AMQP, tales como:
- Impacto en los consumidores de mensajes publicados
- Impacto en los grupos de flujo AMQP existentes
- Impacto en los grupos de corriente recién creados
- Impacto en la configuración de la red de los editores
Impacto en los consumidores de mensajes publicados
El protocolo utilizado para escribir en el destino (ya sea Azure Event Hubs o Fabric Eventstream) es independiente del protocolo utilizado por los consumidores de mensajes. Por lo tanto, cambiar de protocolo AMQP a Kafka para la publicación de mensajes no afecta a los consumidores de mensajes. Pueden seguir consumiendo mensajes usando cualquiera de los dos protocolos.
Impacto en los grupos de flujo AMQP existentes
Los grupos de secuencias existentes configurados con AzureEventHubsAMQP mediante el protocolo AMQP. No se requiere interrupción inmediata ni cambio de configuración para estos grupos. Sin embargo, debes migrar grupos de flujo configurados por AMQP para usar el protocolo Kafka antes de que se elimine el soporte para el protocolo AMQP en abril de 2027.
Impacto en los grupos de corriente recién creados
A partir del 15 de agosto de 2026, el único valor permitido destination_type para los grupos de flujo recién creados en Azure SQL Database y SQL Database en Microsoft Fabric es AzureEventHubs. Los intentos de crear un grupo de flujo usando un valor anterior o AzureEventHubsAMQPAzureEventHubsApacheKafka, fallan con el siguiente mensaje de error:
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.'
Actualiza cualquier script de automatización que cree grupos de flujo antes de esa fecha. El destination_type parámetro debe usar AzureEventHubs en lugar de AzureEventHubsAMQP o AzureEventHubsApacheKafka.
El protocolo Kafka utiliza Microsoft Entra o autenticación por clave de servicio para conectarse a Azure Event Hubs o Fabric Eventstream. Si tus grupos de flujo AMQP existentes usan autenticación SAS, necesitas cambiar a Microsoft Entra o a la autenticación por clave de servicio al crear nuevos grupos de flujo. Consulta Configurar la transmisión de eventos de cambio para obtener más información sobre cómo configurar la autenticación para grupos de flujos.
Impacto en la configuración de la red de los editores
Dependiendo de cómo configures la red en el lado de publicación, puede que necesites reconfigurar los puertos salientes permitidos para usar el puerto 9093 de Kafka, en lugar de los puertos 5671 y 5672 que usa AMQP. El publicador debe permitir el tráfico saliente en el puerto 9093.
Solo deja abiertos los puertos 5671 y 5672 si tienes grupos de flujo que aún usan el protocolo AMQP. Estos puertos no son necesarios para grupos de flujo recién creados que usan el protocolo Kafka.
Para más información, consulta configuración del firewall por protocolo de Azure Event Hubs.
Contenido relacionado
- ¿Qué es el streaming de eventos de cambio (versión preliminar)?
- Configurar la transmisión de eventos de cambios (vista previa) a Azure Event Hubs
- Formato de mensaje JSON: cambio del streaming de eventos
- Preguntas frecuentes sobre cambios en streaming de eventos
- sys.dm_change_feed_log_scan_sessions (Transact-SQL)
- Configuración del firewall de Azure Event Hubs por protocolo