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

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

Ursprüngliche Produktversion: SQL Server 2008 und höher
Ursprüngliche KB-Nummer: 3200464

Symptome

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

Befehl

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 [Batchstartzeile 0]
Die Metadaten, die die Tabelle [<Schemaname>] angeben, konnten nicht aktualisiert werden. [<Objektname>] ist für Change Data Capture aktiviert. Der Fehler ist beim Ausführen des Befehls 'insert in [cdc] aufgetreten. [captured_columns]'. Der zurückgegebene Fehler lautete 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 ermitteln und die Anforderung erneut zu übermitteln.

Lösung

Um dieses Problem zu beheben, führen Sie aussp_cdc_vupgrade, nachdem Sie eine Datenbank an eine instance von SQL Server 2016 oder SQL Server 2017 unter Windows angefügt haben, die aktiviert istChange Data Capture.

Weitere Informationen finden Sie unter Anfügen einer Datenbank.