KB4039089 - CORREZIONE: errore EXCEPTION_ACCESS_VIOLATION quando si esegue la stored procedure sys.sp_MScdc_capture_job in SQL Server

Si applica a
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 2016 Service Pack 1 SQL Server 2017 on Windows (all editions) SQL Server 2017 on Linux (all editions) SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

Sintomi

Si consideri lo scenario seguente:

  • Si supponga di avere tabelle partizionate in Microsoft SQL Server e che fanno parte di Change Data Trascrivi (CDC) o Transactional Replication. La partizione di switch-in o switch-out da queste tabelle.
  • Dopo l'opzione di partizione quando si eseguono operazioni DML (Data Manipulation Language), è possibile notare che si verifica un EXCEPTION_ACCESS_VIOLATION e viene generato un file dump di memoria.

Nota

Data/ora dump stack inviato a FilePath\NomeFile
Data/ora SqlDumpExceptionHandler: Process ProcessID generated fatal exception c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server sta terminando questo processo.
Data/ora * *******************************************************************************
Data/ora
Data/ora * BEGIN STACK DUMP:
Data/ora
Data/ora
Data/ora *
Data/ora
Data/ora * Indirizzo eccezione = 000007FEE724BD80 Module(sqllang+00000000015BBD80)
Data/ora * Codice eccezione = c0000005 EXCEPTION_ACCESS_VIOLATION
Data/ora * Indirizzo di lettura si è verificata violazione di accesso 000000000000002A
Data/ora * Buffer di input 70 byte
Data/ora * sys.sp_MScdc_capture_job
Data/ora *

Nota

Data/ora dump stack inviato a FilePath\NomeFile
Data/ora SqlDumpExceptionHandler: Process PID generated fatal exception c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server sta terminando questo processo.
Data/ora * *******************************************************************************
Data/ora *
Data/ora * BEGIN STACK DUMP:
Data/ora * Data/oraPID
Data/ora *
Data/ora *
Data/ora * Indirizzo eccezione = 000007FEE9D26640 Module(sqllang+0000000001586640)
Data/ora * Codice eccezione = c0000005 EXCEPTION_ACCESS_VIOLATION
Data/ora * Indirizzo di lettura si è verificata violazione di accesso 000000000000002A
Data/ora * Buffer di input 109 byte -
Data/ora * 16 00 00 00 12 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Data/ora * s p _ r e p 01 00 00 00 00 0b 00 73 00 70 00 5f 00 72 00 65 00 70 00
Data/ora * l c m d s & ô 6c 00 63 00 6d 00 64 00 73 00 00 00 00 00 00 26 04 04 f4
Data/ora * & & 01 00 00 00 00 00 26 04 04 00 00 00 00 00 00 00 26 04 04 ff
Data/ora *i & ff ff 00 00 a5 0a 00 00 00 00 00 00 00 26 04 04 8f 13 00
Data/ora * & & ¡ 00 00 00 26 04 00 00 00 00 00 00 00 26 04 04 20 a1 07
Data/ora * 00

  • Se si esegue la query seguente su una tabella di destinazione, si potrebbe notare che il valore della colonna is_replicated verrà contrassegnato come "1" per l'indice non cluster che non è corretto.

select index_id, partition_number,* from sys.system_internals_partition_columns pc with(nolock)

JOIN sys.partitions p with(nolock)

ON p.partition_id = pc.partition_id

where p.object_id = object_id ('PartitionTable')

order by 2

Risoluzione

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

Aggiornamento cumulativo 1 per SQL Server 2017

Aggiornamento cumulativo 5 per SQL Server 2016 SP1

Aggiornamento cumulativo 8 per SQL Server 2014 SP2

Informazioni sugli aggiornamenti cumulativi per SQL Server:

Ogni nuovo aggiornamento cumulativo per SQL Server contiene tutti gli aggiornamenti rapidi e tutte le correzioni per la sicurezza inclusi nell'aggiornamento cumulativo precedente. Scopri gli aggiornamenti cumulativi più recenti per SQL Server:

Ultimo aggiornamento cumulativo per SQL Server 2017

Ultimo aggiornamento cumulativo per SQL Server 2016

Ultimo aggiornamento cumulativo per SQL Server 2014

Stato

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

Riferimenti

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