Error al adjuntar una base de datos habilitada para CDC a una instancia de SQL Server 2016 o SQL Server 2017 en Windows

Este artículo le ayuda a resolver el problema por el que no puede adjuntar una base de datos habilitada para CDC a una instancia de SQL Server 2016 o SQL Server 2017 en Windows.

Versión original del producto: SQL Server 2008 y las versiones posteriores
Número de KB original: 3200464

Síntomas

Desasocia una base de datos con Change Data Capture habilitada en SQL Server 2014 o una versión anterior y la adjunta a una instancia de Windows SQL Server 2016 o SQL Server 2017. En esta situación, se produce el siguiente error al ejecutar el procedimiento del sp_cdc_enable_table sistema:

Get-Help

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;

Mensaje de error

Msg 22832, Level 16, State 1, Procedure
sp_cdc_enable_table_internal, línea 639 [Línea de inicio por lotes 0]
No se pudieron actualizar los metadatos que indican la tabla [<nombre> del esquema]. [<nombre> del objeto] está habilitado para la captura de datos modificados. Error al ejecutar el comando 'insert en [cdc]. [captured_columns]'. El error devuelto fue 213: "Nombre de columna o número de valores proporcionados no coincide con la definición de tabla.". Use la acción y el error para determinar la causa del error y volver a enviar la solicitud.

Solución

Para resolver este problema, ejecute sp_cdc_vupgrade después de adjuntar una base de datos en una instancia de SQL Server 2016 o SQL Server 2017 en Windows que se haya Change Data Capture habilitado.

Para obtener más información, vea Adjuntar una base de datos.