Condividi tramite


Errore durante il collegamento di un database abilitato per CDC a un'istanza di SQL Server 2016 o SQL Server 2017 in Windows

Questo articolo illustra come risolvere il problema in cui non è possibile collegare un database abilitato per CDC a un'istanza di SQL Server 2016 o SQL Server 2017 in Windows.

Versione originale del prodotto: SQL Server 2008 e le versioni successive
Numero KB originale: 3200464

Sintomi

Scollegare un database con Change Data Capture abilitato in SQL Server 2014 o una versione precedente e collegarlo a un'istanza di SQL Server 2016 o SQL Server 2017 in Windows. In questo caso, si verifica l'errore seguente quando si esegue la sp_cdc_enable_table procedura di sistema:

Comando

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;

Messaggio d'errore

Messaggio 22832, Livello 16, Stato 1, Procedura
sp_cdc_enable_table_internal, riga 639 [riga di avvio batch 0]
Impossibile aggiornare i metadati che indicano la tabella [<nome> schema]. [<nome> oggetto] è abilitato per Change Data Capture. Errore durante l'esecuzione del comando 'insert in [cdc]. [captured_columns]'. L'errore restituito è 213: 'Nome colonna o numero di valori forniti non corrisponde alla definizione della tabella'. Utilizzare l'azione e l'errore per determinare la causa del problema, quindi inviare nuovamente la richiesta.

Risoluzione

Per risolvere questo problema, eseguire sp_cdc_vupgrade dopo aver collegato un database in un'istanza di SQL Server 2016 o SQL Server 2017 in Windows abilitato Change Data Capture .

Per altre informazioni, vedere Collegare un database.