Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet article vous aide à résoudre le problème où vous ne pouvez pas attacher une base de données habilitée pour la capture de données modifiées à une instance de SQL Server 2016 ou une version ultérieure fonctionnant sous Windows.
Version du produit d’origine : SQL Server
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 version SQL Server 2016 ou ultérieure sur l’instance 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 une fois que vous avez attaché une base de données sur une instance de SQL Server 2016 ou une version ultérieure sur Windows activée Change Data Capture .
Pour plus d’informations, consultez Attacher une base de données.