Compartilhar via


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.