Erro ao anexar um banco de dados habilitado para CDC a uma instância do SQL Server 2016 ou SQL Server 2017 no Windows
Este artigo ajuda você a resolver o problema em que você não pode anexar um banco de dados habilitado para CDC a uma instância do SQL Server 2016 ou SQL Server 2017 no Windows.
Versão original do produto: SQL Server 2008 e versões posteriores
Número original do KB: 3200464
Sintomas
Você desanexa um banco de dados com Change Data Capture
habilitado no SQL Server 2014 ou em uma versão anterior e o anexa a uma instância do SQL Server 2016 ou SQL Server 2017 no Windows. Nessa situação, você encontra o seguinte erro ao executar o procedimento do sp_cdc_enable_table
sistema:
Comando
EXEC sys.sp_cdc_enable_table @source_schema='<schema name>',
@source_name='<source name>', @role_name='<role name>',
@supports_net_changes=1, @allow_partition_switch=0;
Mensagem de erro
Msg 22832, Nível 16, Estado 1, Procedimento
sp_cdc_enable_table_internal, Linha 639 [Linha de Início do Lote 0]
Não foi possível atualizar os metadados que indicam a tabela [<nome> do esquema]. [<nome do objeto>] está habilitado para a Captura de Dados de Alteração. A falha ocorreu ao executar o comando 'insert into [cdc]. [captured_columns]». O erro retornado foi 213: 'O nome da coluna ou o número de valores fornecidos não corresponde à definição da tabela.'. Use a ação e o erro para determinar o motivo da falha e envie novamente a solicitação.
Solução
Para resolver esse problema, execute sp_cdc_vupgrade
depois de anexar um banco de dados em uma instância do SQL Server 2016 ou SQL Server 2017 no Windows que tenha Change Data Capture
habilitado.
Para obter mais informações, consulte Anexar um banco de dados.