Compartir a través de


Preguntas más frecuentes (P+F) para Change Event Streaming (CES)

Se aplica a: SQL Server 2025 (17.x) Azure SQL Database

A continuación se muestran respuestas a preguntas sobre la característica Change Event Streaming (CES) para SQL Server 2025 (17.x).

Nota:

El streaming de eventos de cambio se encuentra actualmente en versión preliminar para:

Durante la versión preliminar, esta característica está sujeta a cambios. Para obtener compatibilidad actual, consulte Limitaciones.

Compatibilidad y requisitos

¿Funciona CES con Azure SQL Database?

Sí. CES es compatible con Azure SQL Database a partir de noviembre de 2025.

¿Es necesario el modelo de recuperación completa para CES?

Sí. CES se basa en leer el registro de transacciones, por lo que la base de datos de SQL Server debe configurarse con el modelo de recuperación completa.

¿Cuál es el costo de usar CES?

Para CES, el uso de Azure Event Hubs se factura a tarifas estándar. También se aplican cargos de entrada y salida.

Rendimiento e impacto

¿Cuál es el impacto esperado en el rendimiento de una base de datos grande con millones de filas cuando CES está habilitado?

El impacto en el rendimiento depende de la carga de trabajo y la configuración específicas. Sin embargo, se espera que CES tenga una sobrecarga menor que la captura de datos modificados (CDC), ya que no hay datos de escritura en la base de datos.

¿Cuál es el tamaño máximo de mensaje admitido por CES?

El tamaño del mensaje es configurable, hasta un máximo de 1 MB y debe alinearse con los límites de la instancia de Azure Event Hubs.

¿Seguirá creciendo el registro de transacciones si CES no puede entregar eventos (por ejemplo, debido a un problema de destino, credenciales de autorización expiradas, etc.)?

Sí. CES garantiza una entrega de mensajes confiable ("al menos una vez"), por lo que el registro de transacciones no se truncará hasta que los eventos se entreguen correctamente. Si se produce un error en la entrega, el registro crece hasta que se resuelve el problema. Es importante mantener el estado de CES mediante la supervisión de la entrega de mensajes, los errores y el uso del registro de transacciones para las bases de datos que tienen CES habilitado.

Control de esquemas y datos

¿Cómo controla CES los cambios de esquema, como eliminar una columna?

CES incluye el esquema de fila con cada evento. Si una operación DDL modifica la tabla (como eliminar, cambiar el nombre o agregar una columna), el siguiente evento DML refleja el esquema actualizado. CES no emite eventos para las propias operaciones DDL.

¿Las tablas con columnas LOB (por ejemplo, varchar(max)) son compatibles con CES?

Sí. CES admite tablas con columnas LOB. Para cada tabla configurada para streaming, puede configurar si los objetos grandes se incluyen en los eventos transmitidos.

¿Necesita una tabla una clave principal para usar CES?

No. CES no requiere una clave principal en la tabla.

¿Cómo se muestran los eventos CES pormenorizados?

Cada fila afectada por una INSERToperación , UPDATEo DELETE se transmite como un evento independiente.

Si una transacción modifica varias filas, ¿se transmiten como eventos independientes o como una?

Cada fila afectada se transmite como un evento independiente. Cada evento incluye metadatos de transacción, por lo que los cambios de la misma transacción se pueden agrupar lógicamente en el destino.

Integración y configuración

¿Cómo funciona CES en una configuración de alta disponibilidad (HA)? ¿Puedo usar una cadena de conexión DNN?

CES solo transmite desde la réplica principal. En caso de conmutación por error, CES debe volver a configurarse en la nueva base de datos principal. Puede conectarse a la réplica principal mediante cualquier método compatible con SQL Server, incluido DNN.

¿Qué protocolos usa CES para comunicarse con el destino?

CES admite protocolos AMQP y Kafka para Azure Event Hubs. No se admite HTTPS.

¿Se puede transmitir CES directamente a Kafka?

No. CES actualmente solo admite Azure Event Hubs (protocolo AMQP y Kafka) como destino.

¿Admite CES la identidad administrada de Microsoft Entra para autenticarse con Azure Event Hubs?

Depende del origen de datos. CES en Azure SQL Database admite la identidad administrada de Microsoft Entra para autenticarse con Azure Event Hubs, donde SQL Server 2025 actualmente no admite Microsoft Entra para la autenticación.

Funcionalidad y características

¿Se puede habilitar CES en una base de datos que ya usa la replicación transaccional?

No. CES no se puede habilitar en una base de datos configurada con replicación transaccional.

¿Se puede ejecutar CES junto con la captura de datos modificados (CDC)?

No. CES no se puede habilitar en una base de datos habilitada con CDC.

¿Se puede usar CES con bases de datos reflejadas de Fabric para SQL Server?

Si CES se detiene, ¿se reanuda desde dónde se dejó?

Si CES se detiene manualmente, no se reanuda automáticamente. Debe reiniciar manualmente CES para continuar con los eventos de streaming. Los cambios realizados mientras ces se detuvo no se capturarán. Solo se transmitirán los cambios realizados después de reiniciar CES. CES garantiza al menos una entrega . Si CES no entrega un mensaje, continúa reintentando hasta que el mensaje se entregue correctamente o CES se detenga manualmente. Si CES no se detiene, las entregas con errores impiden el truncamiento del registro hasta que se resuelve la condición de error y el mensaje se entrega correctamente. Si CES se detiene manualmente, el truncamiento del registro se reanuda y los eventos que se producen durante el tiempo de inactividad no se capturan.

¿Puede CES realizar una instantánea inicial ("semilla") de los datos existentes en las tablas cuando CES está habilitado?

No. CES en este momento solo transmite los cambios a los datos que se producen después de habilitar CES. No transmite datos en una tabla que existe antes de habilitar CES.

¿Cómo puedo supervisar la actividad de CES (por ejemplo, eventos procesados, errores)?

Use las siguientes vistas del sistema para supervisar la actividad de CES:

En SQL Server 2025, puede crear una sesión de XEvent relacionada con CES y obtener más detalles sobre la actividad ces y los posibles errores.

  CREATE EVENT SESSION ChangeEventStreaming
  ON SERVER
  ADD EVENT sqlserver.synapse_link_error
  (
  )
  ADD TARGET package0.event_file 
  (SET filename=N'C:\temp\YourSession_Target1.xel');
  GO

La depuración de xEvent no se admite para la resolución de problemas de CES en Azure SQL Database.

Puede supervisar Azure Event Hubs y usar métricas y registros asociados.

¿Hay un límite en el número de tablas que se pueden configurar para el streaming?

Sí. CES admite hasta 4096 grupos de streaming, con hasta 40 000 tablas por grupo.