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 resolve 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 SQL Server 2017 no Windows.
Versão original do produto: SQL Server 2008 e as versões posteriores
Número de KB original: 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 SQL Server 2017 na instância do Windows. Nesta 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: 'Nome da coluna ou número de valores fornecidos não corresponde à definição da tabela.'. Use a ação e o erro para determinar a causa da falha e reenviar a solicitação.
Resolução
Para resolve 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 habilitadaChange Data Capture
.
Para obter mais informações, consulte Anexar um banco de dados.