Aplica-se a: SQL Server 2025 (17.x)
Azure SQL Database
Veja a seguir as respostas a perguntas sobre o recurso de streaming de eventos de alteração (CES) para o SQL Server 2025 (17.x).
Observação
O streaming de eventos de alteração está atualmente em versão prévia para:
- SQL Server 2025 (configuração com escopo do banco de dados de recursos de versão prévia necessária).
- Banco de Dados SQL do Azure (configuração de funcionalidades em versão prévia com escopo do banco de dados não é necessária).
Durante a visualização, esse recurso está sujeito a alterações. Para obter suporte atual, consulte Limitações.
Compatibilidade e requisitos
O CES funciona com o Banco de Dados SQL do Azure?
Sim. O CES tem suporte no Banco de Dados SQL do Azure a partir de novembro de 2025.
O modelo de recuperação completa é necessário para o CES?
Sim. O CES depende da leitura do log de transações, portanto, o banco de dados do SQL Server deve ser configurado com o modelo de recuperação completo.
Qual é o custo de usar o CES?
Para CES, o uso dos Hubs de Eventos do Azure é cobrado a taxas padrão. Os encargos de entrada e saída também se aplicam.
Desempenho e impacto
Qual é o impacto de desempenho esperado em um banco de dados grande com milhões de linhas quando o CES está habilitado?
O impacto no desempenho depende da carga de trabalho e da configuração específicas. No entanto, espera-se que o CES tenha uma sobrecarga menor do que a CDC (captura de dados de alteração), pois não há como gravar dados de volta no banco de dados.
Qual é o tamanho máximo da mensagem compatível com o CES?
O tamanho da mensagem é configurável, até um máximo de 1 MB e deve se alinhar com os limites da instância dos Hubs de Eventos do Azure.
O log de transações continuará a crescer se o CES não puder entregar eventos (como devido a um problema de destino, credencial de autorização expirada etc)?
Sim. O CES garante a entrega de mensagens confiável ("pelo menos uma vez"), portanto, o log de transações não será truncado até que os eventos sejam entregues com êxito. Se a entrega falhar, o log aumentará até que o problema seja resolvido. É importante manter a integridade do CES monitorando a entrega de mensagens, os erros e a utilização do log de transações para bancos de dados que têm o CES habilitado.
Manipulação de esquemas e dados
Como o CES lida com alterações de esquema, como excluir uma coluna?
O CES inclui o esquema de linha com cada evento. Se uma operação DDL modificar a tabela (como excluir, renomear ou adicionar uma coluna), o próximo evento DML refletirá o esquema atualizado. O CES não emite eventos para operações DDL em si.
As tabelas com colunas LOB (por exemplo, varchar(max)) têm suporte do CES?
Sim. O CES dá suporte a tabelas com colunas LOB. Para cada tabela configurada para streaming, você pode configurar se objetos grandes são incluídos nos eventos transmitidos.
Uma tabela precisa de uma chave primária para usar o CES?
Não. O CES não requer uma chave primária na tabela.
Quão granulares são os eventos CES?
Cada linha afetada por um INSERT, UPDATEou DELETE operação é transmitida como um evento separado.
Se uma transação modificar várias linhas, elas serão transmitidas como eventos separados ou como uma?
Cada linha afetada é transmitida como um evento separado. Cada evento inclui metadados de transação, portanto, as alterações da mesma transação podem ser agrupadas logicamente no destino.
Integração e configuração
Como o CES funciona em uma configuração de ALTA DISPONIBILIDADE (HA)? Posso usar uma cadeia de conexão DNN?
O CES é transmitido somente da réplica primária. No caso de um failover, o CES deve ser reconfigurado no novo primário. Você pode se conectar à réplica primária usando qualquer método compatível com o SQL Server, incluindo DNN.
Quais protocolos o CES usa para se comunicar com o destino?
O CES dá suporte a protocolos AMQP e Kafka para Hubs de Eventos do Azure. Não há suporte para HTTPS.
O CES pode transmitir diretamente para o Kafka?
Não. Atualmente, o CES dá suporte apenas aos Hubs de Eventos do Azure (protocolo AMQP e Kafka) como o destino.
O CES dá suporte à identidade gerenciada do Microsoft Entra para autenticação com os Hubs de Eventos do Azure?
Depende da fonte de dados. O CES no Banco de Dados SQL do Azure dá suporte à identidade gerenciada do Microsoft Entra para autenticação nos Hubs de Eventos do Azure, em que o SQL Server 2025 atualmente não dá suporte ao Microsoft Entra para autenticação.
Funcionalidade e funcionalidades
O CES pode ser habilitado em um banco de dados que já usa a replicação transacional?
Não. O CES não pode ser habilitado em um banco de dados configurado com replicação transacional.
O CES pode ser executado junto com a CDC (captura de dados de alteração)?
Não. O CES não pode ser habilitado em um banco de dados habilitado com CDC.
O CES pode ser usado com Bancos de Dados Espelhados do Fabric para SQL Server?
Não. Não há suporte para CES com Bancos de Dados Espelhados do Fabric para SQL Server.
Se o CES parar, ele retomará de onde parou?
Se o CES for interrompido manualmente, ele não será retomado automaticamente. Você deve reiniciar manualmente o CES para continuar os eventos de streaming. As alterações feitas enquanto o CES foi interrompido não serão capturadas. Somente as alterações feitas após a reinicialização do CES serão transmitidas. O CES garante pelo menos uma vez a entrega. Se o CES não entregar uma mensagem, ele continuará a tentar novamente até que a mensagem seja entregue com êxito ou o CES seja interrompido manualmente. Se o CES não for interrompido, as entregas com falha impedirão o truncamento de log até que a condição de erro seja resolvida e a mensagem seja entregue com êxito. Se o CES for interrompido manualmente, o truncamento de log será retomado e os eventos que ocorrem durante o tempo de inatividade não serão capturados.
O CES pode fazer um instantâneo inicial ("semente") de dados existentes em tabelas quando o CES está habilitado?
Não. Atualmente, o CES transmite apenas alterações aos dados que ocorrem depois que o CES está habilitado. Ele não transfere dados em uma tabela que existe antes do CES ser habilitado.
Como posso monitorar a atividade do CES (por exemplo, eventos processados, erros)?
Use as seguintes exibições do sistema para monitorar a atividade do CES:
- sys.dm_change_feed_errors para erros de entrega de eventos.
- sys.dm_change_feed_log_scan_sessions para a atividade de verificação de log.
No SQL Server 2025, você pode criar uma sessão XEvent relacionada ao CES e obter mais detalhes sobre a atividade do CES e possíveis erros.
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
Não há suporte para a depuração xEvent para solução de problemas do CES no Banco de Dados SQL do Azure.
Você pode monitorar os Hubs de Eventos do Azure e usar métricas e logs associados.
Há um limite para quantas tabelas podem ser configuradas para streaming?
Sim. O CES dá suporte a até 4.096 grupos de streaming, com até 40.000 tabelas por grupo.