Partager via


Erreur lors de l’attachement d’une base de données avec capture de données modifiées à une instance de SQL Server 2016 ou SQL Server 2017 sur Windows

Cet article vous aide à résoudre le problème où vous ne pouvez pas attacher une base de données avec capture de données modifiées à une instance de SQL Server 2016 ou SQL Server 2017 sur Windows.

Version du produit d’origine : SQL Server 2008 et les versions ultérieures
Numéro de base de connaissances d’origine : 3200464

Symptômes

Vous détachez une base de données avec Change Data Capture activé sur SQL Server 2014 ou une version antérieure et vous l’attachez à une instance SQL Server 2016 ou SQL Server 2017 sur Windows. Dans ce cas, vous rencontrez l’erreur suivante lorsque vous exécutez la sp_cdc_enable_table procédure système :

Commande

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;

Message d’erreur

Msg 22832, Niveau 16, État 1, Procédure
sp_cdc_enable_table_internal, ligne 639 [Ligne de début du lot 0]
Impossible de mettre à jour les métadonnées qui indiquent la table [<nom> du schéma]. [<nom> de l’objet] est activé pour la capture de données modifiées. L’échec s’est produit lors de l’exécution de la commande ' insert into [cdc]. [captured_columns]'. L’erreur retournée était 213 : « Nom de colonne ou nombre de valeurs fournies ne correspond pas à la définition de la table. » Utilisez les informations d'action et d'erreur pour déterminer la cause du problème et soumettre à nouveau la requête.

Résolution

Pour résoudre ce problème, exécutez sp_cdc_vupgrade après avoir attaché une base de données sur une instance de SQL Server 2016 ou SQL Server 2017 sur Windows activée Change Data Capture .

Pour plus d’informations, consultez Attacher une base de données.