KB4521739 - FIX: si verifica un errore quando il processo di acquisizione CDC tenta di inserire una chiave duplicata nella tabella "cdc.lsn_time_mapping" in SQL Server 2016, 2017 e 2019

Si applica a
SQL Server 2016 Service Pack 2 SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use) SQL Server 2017 on Windows SQL Server 2017 on Linux SQL Server 2019 on Windows SQL Server 2019 on Linux

Sintomi

Si supponga che Change Data Trascrivi (CDC) sia abilitato in Microsoft SQL Server 2016, 2017 o 2019. A causa di un problema di temporizzazione, il processo di acquisizione CDC potrebbe tentare di inserire start_lsn duplicati nel cdc.lsn_time_mapping della tabella e potrebbe essere visualizzato un messaggio di errore simile al seguente:

Violazione del vincolo PRIMARY KEY 'lsn_time_mapping_clustered_idx'. Non è possibile inserire chiave duplicata nell'oggetto 'cdc.lsn_time_mapping'. Il valore di chiave duplicato è (Value).
      

Stato

Microsoft ha confermato che si tratta di un problema relativo ai prodotti elencati nella sezione "Si applica a".

Risoluzione

Questo problema è stato risolto negli aggiornamenti cumulativi seguenti per SQL Server:

Nota: Per rendere effettiva questa correzione, è necessario abilitare il flag di traccia (TF) 8291.

Informazioni sugli aggiornamenti cumulativi per SQL Server:

Ogni nuovo aggiornamento cumulativo per SQL Server contiene tutte le correzioni rapide e di sicurezza incluse nell'aggiornamento cumulativo precedente. Vedere gli aggiornamenti cumulativi più recenti per SQL Server:

Riferimenti

Informazioni sulla terminologia utilizzata da Microsoft per descrivere gli aggiornamenti software.