Tivemos um problema com o CDC em que o trabalho de captura falhou e não foi reiniciado. Foi em um ambiente DEV, então não há mal nenhum, mas alguém viu esses erros ou sabe exatamente o que deu errado com o CDC?
SQL 2014 EE 12.0.5540 - AG de 2 nós com SSISDB
O procedimento ou função sp_batchinsert_1663605265 tem muitos argumentos especificados. Para obter mais informações, consulte a exibição de gerenciamento dinâmico sys.dm_cdc_errors
O processo de verificação de log falhou ao construir um comando replicado do número de sequência de log (LSN) {00002d0d:0000f11f:0002}. Faça backup do banco de dados de publicação e entre em contato com os Serviços de Atendimento ao Cliente. Para maiores informações
O processo de Varredura de Log falhou ao processar registros de log. Consulte os erros anteriores na sessão atual para identificar a causa e corrigir quaisquer problemas associados. Para obter mais informações, consulte a exibição de gerenciamento dinâmico sys.dm_cdc_errors
Tentamos descartar e recriar o trabalho de captura usando sp_cdc_drop_job
abd sp_cdc_add_job
. Também tentamos fazer failover para o outro nó, bem como reinicializações do servidor/serviço. Nada parecia deixar o CDC reiniciar-se.
Aplicamos o CU4 na sexta-feira por meio do patch contínuo de AG, para que estejamos no melhor e mais recente. Esse problema surgiu logo após o patch e o failover.
Adicionado resultado da consulta de log
Parece que CU2+SP4 (12.0.5540) altera a estrutura das tabelas de sistema _CT subjacentes que são geradas. Ele adiciona a coluna
[__$command_id] int null
.Ao atualizar no local para a nova CU, os trabalhos de captura começarão a falhar ou irão para 'entre novas tentativas...' com os seguintes erros:
Descartar e recriar o trabalho de captura não funciona (usando cdc_add_job). Eu tive que descartar o trabalho do CDC do agente de captura, desabilitar o CDC (sp_cdc_disable_table) na tabela e reativar o CDC (sp_cdc_enable_table), que adiciona novamente o trabalho e dispara o trabalho com êxito e começa a coleta.
O problema é que, ao descartar e reativar o CDC, você perde a tabela _CT existente anteriormente e todos os seus dados.
As únicas informações que encontrei sobre o CDC de alteração do CU4 são as seguintes do MS: https://support.microsoft.com/en-us/help/3030352
Ele diz que eles corrigiram o problema de ordenação, mas não listam nenhuma alteração estrutural nas tabelas do sistema CDC.
ATUALIZAÇÃO 1 : Abri um caso de suporte pago com a MS sobre esse problema. Há também um item de conexão aberto para ele: https://connect.microsoft.com/SQLServer/Feedback/Details/3130381
ATUALIZAÇÃO 2 : Por MS, usar o comando
sp_vupgrade_replication
após a correção para CU4 permitirá que o trabalho do agente de captura seja iniciado com êxito. Ele ainda não aborda os trabalhos com falha antes que o comando seja executado. Também não aborda essa coluna adicionada que não está documentada em nenhum lugar. Ainda esperando para ver qual é o veredicto final.ATUALIZAÇÃO 3 : A MS postou oficialmente em seu blog e reconheceu isso como um problema: https://blogs.msdn.microsoft.com/sql_server_team/cdc-functionality-may-break-after-upgrading-to-the-latest-cu -for-sql-server-2012-2014-and-2016/
Nenhuma palavra ainda sobre se eles estarão relançando o patch CU4 para não exigir intervenção manual para reiniciar os trabalhos do CDC ou documentar oficialmente a alteração da coluna.