Erreur lors de l’attachement d’une base de données compatible cdc à un instance de SQL Server 2016 ou SQL Server 2017 sur Windows
Cet article vous aide à résoudre le problème dans lequel vous ne pouvez pas attacher une base de données compatible cdc à un instance de SQL Server 2016 ou SQL Server 2017 sur Windows.
Version du produit d’origine : SQL Server 2008 et versions ultérieures
Numéro de la 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 SQL Server 2016 ou SQL Server 2017 sur Windows instance. Dans ce cas, vous rencontrez l’erreur suivante lorsque vous exécutez la sp_cdc_enable_table
procédure système :
Command
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 : « Le nom de la colonne ou le nombre de valeurs fournies ne correspond pas à la définition de table . ». Utilisez l’action et l’erreur pour déterminer la cause de l’échec et soumettre à nouveau la demande.
Résolution
Pour résoudre ce problème, exécutez sp_cdc_vupgrade
après avoir attaché une base de données sur un instance de SQL Server 2016 ou SQL Server 2017 sur Windows activéChange Data Capture
.
Pour plus d’informations, consultez Attacher une base de données.