Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este artigo descreve a descontinuação do protocolo AMQP para o recurso de transmissão de eventos de mudança (CES) no SQL Server 2025, Banco de Dados SQL do Azure, Instância Gerenciada de SQL do Azure e Banco de Dados SQL no Microsoft Fabric.
A descontinuação do protocolo AMQP introduz uma alteração incompatível no valor de configuração destination_type ao criar novos grupos de fluxo. O cronograma de implementação varia conforme o produto. Este artigo explica como essas mudanças afetam grupos de fluxo novos e existentes, as diferenças específicas de cada plataforma e como migrar grupos de fluxo existentes do protocolo AMQP para o protocolo Kafka.
O que é o protocolo AMQP?
O protocolo AMQP ("AMQP") era um dos dois protocolos que a CES suportava ao enviar eventos de alteração para o Hubs de Eventos do Azure e o Fabric Eventstream. Era uma implementação service-to-service que publicava eventos para Hubs de Eventos do Azure e Fabric Eventstream.
Antes dessa mudança quebrada, você especificou o protocolo no destination_type valor de configuração ao configurar um grupo de fluxo, utilizando um dos seguintes valores suportados:
-
AzureEventHubsAMQP- Protocolo AMQP -
AzureEventHubsApacheKafka- Protocolo Kafka
Após essa alteração interruptiva, o único valor de destination_type com suporte para grupos de stream criados recentemente no Banco de Dados SQL do Azure e no banco de dados SQL do Microsoft Fabric é AzureEventHubs, que usa o protocolo Kafka. Instância Gerenciada de SQL do Azure e SQL Server 2025 ainda aceitam AzureEventHubsAMQP e AzureEventHubsApacheKafka.
A partir de 15 de agosto de 2026, os grupos de fluxo recém-criados no Banco de Dados SQL do Azure devem usar AzureEventHubs como destination_type. Tentativas de criar um grupo de fluxo usando valores anteriores falham.
Os consumidores de mensagens publicadas no Hubs de Eventos do Azure podem escolher entre o protocolo AMQP ou Kafka, independentemente do protocolo que publica a mensagem.
Suporte da plataforma para valores de destination_type
Os valores permitidos destination_type ao criar um novo grupo de fluxo dependem do produto e da versão:
| Product | Valores permitidos destination_type |
Notes |
|---|---|---|
| Banco de Dados SQL do Azure | AzureEventHubs |
O único valor com suporte.
AzureEventHubsAMQP e AzureEventHubsApacheKafka não são aceitos para novos grupos de stream. |
| Instância Gerenciada de SQL do Azure |
AzureEventHubsAMQP, AzureEventHubsApacheKafka |
Esses valores ainda são aceitos, mas estão obsoletos. Evite AzureEventHubsAMQP para novos grupos de fluxo. |
| SQL Server 2025 |
AzureEventHubsAMQP, AzureEventHubsApacheKafka |
Esses valores ainda são aceitos, mas estão obsoletos. Evite AzureEventHubsAMQP para novos grupos de fluxo. |
| Banco de dados SQL no Microsoft Fabric | AzureEventHubs |
O único valor com suporte. |
Para novos grupos de transmissão, use AzureEventHubs quando a plataforma oferecer suporte. Para Instância Gerenciada de SQL do Azure e SQL Server 2025, use AzureEventHubsApacheKafka (protocolo Kafka). Evite AzureEventHubsAMQP para novos grupos de fluxo.
Como migrar grupos de fluxo configurados pelo AMQP para o Kafka
Os grupos CES existentes configurados com AzureEventHubsAMQP continuam publicando mensagens por meio do protocolo AMQP até abril de 2027. Recrie seus grupos de fluxo existentes configurados com AMQP no SQL Server 2025, no Banco de Dados SQL do Azure, no Instância Gerenciada de SQL do Azure ou no Banco de Dados SQL no Microsoft Fabric usando AzureEventHubs como destination_type o mais rápido possível.
Use a seguinte consulta para identificar todos os grupos de fluxos configurados:
exec sp_help_change_event_stream_groups
Salve os valores de configuração para os grupos de fluxo que têm AzureEventHubsAMQP na coluna streaming_dest_type . Você precisa desses valores ao criar os novos grupos de streams.
Use a seguinte consulta para identificar as tabelas em cada grupo de fluxo que você precisa migrar:
exec sys.sp_help_change_event_stream_tables
Para migrar um grupo de fluxo configurado pelo AMQP para o Kafka, siga estes passos:
Crie um fluxo de substituição usando o procedimento sys.sp_create_event_stream_group armazenado. Especifique
AzureEventHubscomo parâmetrodestination_type.O
destination_locationparâmetro espera a porta 9093, como o seguinte exemplo:myEventHubsNamespace.servicebus.windows.net:9093/myEventHubsInstance.O protocolo Kafka suporta Microsoft Entra ou autenticação por chave de serviço. A autenticação SAS agora não está disponível para CES.
Remova cada tabela, uma por uma, do grupo antigo do fluxo 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>'Adicione cada tabela que você removeu do grupo antigo de stream ao novo grupo de stream substituto 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>'Depois de adicionar todas as tabelas ao novo grupo de stream, use sys.sp_drop_event_stream_group para remover o grupo antigo. Para mais detalhes, consulte configurar o CES.
exec sys.sp_drop_event_stream_group @stream_group_name = '<old_stream_group_name>'Verifique se o novo grupo de streams está ativo executando
sp_help_change_event_stream_groupse confirmando queAzureEventHubsé exibido como streaming_dest_type.
Repita esse processo para cada grupo de stream configurado por AMQP no seu ambiente.
Mover tabelas para novos grupos de transmissão (Kafka)
O CES escaneia e publica as alterações do arquivo de log no momento em que são criadas, mas a latência de publicação pode causar atraso nos eventos. Quando você remove uma tabela de um grupo de stream, alterações pendentes no arquivo de log não são publicadas. Por isso, coordene cuidadosamente a movimentação de tabelas entre os grupos de transmissão para evitar a perda de eventos.
Antes de remover uma tabela de um grupo de stream, verifique o DMV sys.dm_change_feed_log_scan_sessions para garantir que não há alterações pendentes para publicar nas tabelas. Se houver mudanças pendentes, espere até que o processo as publique antes de remover a tabela do grupo de stream antigo e adicioná-la ao novo grupo de stream.
Para mitigar o risco de eventos perdidos, utilize uma das seguintes abordagens:
- Mova as tabelas entre grupos de transmissão durante uma janela dedicada de manutenção quando nenhuma gravação está acontecendo nas tabelas.
- Coloque um bloqueio exclusivo nas tabelas que estão sendo transmitidas durante um período de baixa atividade para evitar novas escritas nessas tabelas. Só libere o bloqueio exclusivo depois que as tabelas estiverem no novo grupo de transmissão.
Cronograma de descontinuação
A descontinuação do protocolo AMQP segue os dois cronogramas a seguir:
| Tipo de grupo de fluxo | Data de efetivação | Impacto |
|---|---|---|
| Novos grupos de fluxos no Banco de Dados SQL do Azure e no SQL Database no Microsoft Fabric | 15 de agosto de 2026 | Novos grupos de fluxo criados devem especificar AzureEventHubs como o destination_type. Tentativas de usar qualquer um AzureEventHubsAMQP ou AzureEventHubsApacheKafka falham. |
| Novos grupos de stream no Instância Gerenciada de SQL do Azure e SQL Server 2025 | Atualização futura (a definir) |
AzureEventHubsAMQP e AzureEventHubsApacheKafka ainda são aceitos, mas obsoletos. Uma atualização futura adiciona AzureEventHubs como valor necessário. |
| Grupos de fluxo existentes usando o protocolo AMQP | Abril de 2027 | Grupos de stream já configurados com AzureEventHubsAMQP continuam funcionando normalmente até essa data. Eles devem ser migrados para usar o protocolo Kafka antes que o suporte ao protocolo AMQP seja removido. |
Consumidores de mensagens publicadas não precisam fazer nenhuma alteração.
Impacto da depreciação
Esta seção descreve o impacto da descontinuação do protocolo AMQP, tais como:
- Impacto nos consumidores de mensagens publicadas
- Impacto nos grupos de fluxo AMQP existentes
- Impacto em grupos de stream recém-criados
- Impacto na configuração da rede dos publicadores
Impacto nos consumidores de mensagens publicadas
O protocolo usado para gravar no destino (seja Hubs de Eventos do Azure ou Fabric Eventstream) é independente do protocolo usado pelos consumidores de mensagens. Portanto, a mudança do protocolo AMQP para o protocolo Kafka para publicação de mensagens não afeta os consumidores de mensagens. Eles podem continuar consumindo mensagens usando qualquer um dos protocolos.
Impacto nos grupos de fluxo AMQP existentes
Grupos de fluxo existentes configurados com AzureEventHubsAMQP usando o protocolo AMQP. Não é necessária interrupção imediata ou mudança de configuração para esses grupos. No entanto, você deve migrar grupos de fluxo configurados pelo AMQP para usar o protocolo Kafka antes que o suporte ao protocolo AMQP seja removido em abril de 2027.
Impacto nos grupos de fluxos recém-criados
A partir de 15 de agosto de 2026, o único valor destination_type permitido para grupos de fluxos recém-criados no Banco de Dados SQL do Azure e banco de dados SQL no Microsoft Fabric é AzureEventHubs. As tentativas de criar um grupo de fluxos usando o valor anterior, AzureEventHubsAMQP ou AzureEventHubsApacheKafka, falham com a seguinte mensagem de erro:
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.'
Atualize quaisquer scripts de automação que criem grupos de stream antes dessa data. O destination_type parâmetro deve usar AzureEventHubs em vez de AzureEventHubsAMQP ou AzureEventHubsApacheKafka.
O protocolo Kafka utiliza Microsoft Entra ou autenticação por chave de serviço para se conectar ao Hubs de Eventos do Azure ou Fabric Eventstream. Se seus grupos de stream AMQP existentes usarem autenticação SAS, você precisa mudar para Microsoft Entra ou autenticação por chave de serviço ao criar novos grupos de stream. Veja Configurar o streaming de eventos de alteração para saber como configurar a autenticação para grupos de fluxos.
Impacto na configuração de rede dos publicadores
Dependendo de como você configura a rede no lado da publicação, talvez precise reconfigurar as portas de saída permitidas para usar a porta 9093 do Kafka, em vez das portas 5671 e 5672 usadas pela AMQP. O publicador deve permitir o tráfego de saída na porta 9093.
Só deixe as portas 5671 e 5672 abertas se você tiver grupos de stream que ainda usam o protocolo AMQP. Essas portas não são necessárias para grupos de stream recém-criados que usam o protocolo Kafka.
Para mais informações, veja Hubs de Eventos do Azure configuração de firewall por protocolo.
Conteúdo relacionado
- O que é o streaming de eventos de alteração (versão prévia)?
- Configurar a transmissão de eventos de alteração (versão prévia) para o Hubs de Eventos do Azure
- Formato de mensagem JSON – alterar o streaming de eventos
- Perguntas frequentes sobre transmissão de eventos de alteração
- sys.dm_change_feed_log_scan_sessions (Transact-SQL)
- Configuração do firewall do Hubs de Eventos do Azure por protocolo