Freigeben über


Fehler beim Anfügen einer CDC-fähigen Datenbank an eine Instanz von SQL Server 2016 oder SQL Server 2017 unter Windows

In diesem Artikel können Sie das Problem beheben, bei dem Sie eine CDC-fähige Datenbank nicht an eine Instanz von SQL Server 2016 oder SQL Server 2017 unter Windows anfügen können.

Ursprüngliche Produktversion: SQL Server 2008 und die höheren Versionen
Ursprüngliche KB-Nummer: 3200464

Problembeschreibung

Sie trennen eine Datenbank, die Change Data Capture auf SQL Server 2014 oder einer früheren Version aktiviert ist, und fügen sie an eine SQL Server 2016- oder SQL Server 2017-Instanz an. In diesem Fall tritt beim Ausführen der sp_cdc_enable_table Systemprozedur der folgende Fehler auf:

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;

Fehlermeldung

Msg 22832, Level 16, State 1, Procedure
sp_cdc_enable_table_internal; Zeile 639 [Stapelanfangslinie 0]
Die Metadaten, die die Tabelle [<Schemaname>] angibt, konnten nicht aktualisiert werden. [<Objektname>] ist für die Änderungsdatenerfassung aktiviert. Fehler beim Ausführen des Befehls "insert into [cdc]. [captured_columns]'. Der zurückgegebene Fehler war 213: 'Spaltenname oder Anzahl der angegebenen Werte stimmt nicht mit der Tabellendefinition überein.'. Verwenden Sie die Aktion und den Fehler, um die Ursache des Fehlers zu bestimmen, und senden Sie die Anforderung erneut.

Lösung

Um dieses Problem zu beheben, führen Sie die Ausführung sp_cdc_vupgrade aus, nachdem Sie eine Datenbank in einer Instanz von SQL Server 2016 oder SQL Server 2017 unter Windows angefügt haben, die aktiviert ist Change Data Capture .

Weitere Informationen finden Sie unter Anfügen einer Datenbank.