Compartilhar via


Erro ao anexar um banco de dados habilitado para CDC a uma instância do SQL Server 2016 ou a uma versão posterior no Windows

Este artigo ajuda você a resolver o problema em que não é possível anexar um banco de dados habilitado para CDC a uma instância do SQL Server 2016 ou a uma versão posterior no Windows.

Versão original do produto: SQL Server
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 um SQL Server 2016 ou a uma versão posterior na instância do 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 em uma versão posterior no Windows habilitada Change Data Capture .

Para obter mais informações, consulte Anexar um banco de dados.