Freigeben über


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

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

Ursprüngliche Produktversion: SQL Server
Ursprüngliche KB-Nummer: 3200464

Problembeschreibung

Sie trennen eine Datenbank, wobei Change Data Capture auf einem SQL Server 2014 oder einer früheren Version aktiviert ist, und hängen sie an eine SQL Server 2016 oder eine spätere Version auf einer Windows-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, Ebene 16, Zustand 1, Prozedur
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 sp_cdc_vupgrade aus, nachdem Sie eine Datenbank in einer Instanz von SQL Server 2016 oder einer höheren Version, bei der Change Data Capture aktiviert ist, unter Windows angehängt haben.

Weitere Informationen finden Sie unter Anfügen einer Datenbank.