Condividi tramite


Errore durante il collegamento di un database abilitato per CDC a un'istanza di SQL Server 2016 o versione successiva 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 versione successiva in Windows.

Versione originale del prodotto: SQL Server
Numero KB originale: 3200464

Sintomi

Si scollega un database con Change Data Capture abilitato in SQL Server 2014 o una versione precedente e lo si collega a un'istanza di SQL Server 2016 o successiva nell'istanza di 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 versione successiva in Windows Change Data Capture abilitata.

Per altre informazioni, vedere Collegare un database.