KB4039089 - REMEDIERE: EXCEPTION_ACCESS_VIOLATION eroare atunci când executați procedura stocată sys.sp_MScdc_capture_job în SQL Server

Se aplică la
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)

Simptome

Luați în considerare următorul scenariu:

  • Să presupunem că aveți tabele partiționate în Microsoft SQL Server și că acestea fac parte din Change Data Captură (CDC) sau Reproducere tranzacțională. Comutați sau ieșiți partiția din aceste tabele.
  • După comutarea partiției, atunci când efectuați operațiuni DML, este posibil să observați că apare o EXCEPTION_ACCESS_VIOLATION și că se generează un fișier dump de memorie.

Notă

Data/ora ***Stack Dump being sent to FilePath\FileName
Data/Ora SqlDumpExceptionHandler: Process ProcessID a generat o excepție fatală c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server închide acest proces.
Dată/Oră * *******************************************************************************
Data/Ora * 
Dată/Oră * ÎNCEPEȚI DUMPUL STIVEI:
Data/Ora * 
Data/Ora * 
Data/Ora *
Data/Ora * 
Dată/Oră * Adresă excepție = 000007FEE724BD80 Module(sqllang+0000000015BBD80)
Dată/Oră * Cod de excepție = c0000005 EXCEPTION_ACCESS_VIOLATION
Dată/Oră * S-a produs o încălcare a accesului adresa de citire 000000000000002A
Dată/Oră * Tampon de intrare 70 byți
Dată/Oră * sys.sp_MScdc_capture_job
Data/Ora *

Notă

Data/ora ***Stack Dump being sent to FilePath\FileName
Data/Ora SqlDumpExceptionHandler: PID de proces a generat excepție fatală c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server închide acest proces.
Dată/Oră * *******************************************************************************
Data/Ora *
Dată/Oră * ÎNCEPEȚI DUMPUL STIVEI:
Data/Ora * Dată/OrăSPID
Data/Ora *
Data/Ora *
Dată/Oră * Adresă excepție = 000007FEE9D26640 Module(sqllang+0000000001586640)
Dată/Oră * Cod de excepție = c0000005 EXCEPTION_ACCESS_VIOLATION
Dată/Oră * S-a produs o încălcare a accesului adresa de citire 000000000000002A
Dată/Oră * Tampon de intrare 109 byți -
Data/Ora * 16 00 00 00 12 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00
Data/ora * s p _ r e p 01 00 00 00 0b 00 73 00 70 00 5f 00 72 00 65 00 70 00
Dată/Oră * l c m d s & ô 6c 00 63 00 6d 00 64 00 73 00 00 00 00 00 26 04 04 f4
Data/ora * & & ÿ 01 00 00 00 00 26 04 04 00 00 00 00 00 00 00 26 04 04 ff
Dată/Oră * ÿÿÿ ¥ & ff ff 00 00 a5 0a 00 00 00 00 00 26 04 04 8f 13 00
Data/ora * & & ¡ 00 00 00 26 04 04 00 00 00 00 00 00 26 04 04 20 A1 07
Data/Ora * 00

  • Dacă rulați următoarea interogare în tabelul de destinație, este posibil să observați că valoarea coloanei de is_replicated va fi marcată ca "1" pentru indexul non-clustered, fapt care nu este corect.

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

Rezolvare

Această problemă este remediată în următoarele actualizări cumulative pentru SQL Server:

Actualizarea cumulativă 1 pentru SQL Server 2017

Actualizarea cumulativă 5 pentru SQL Server 2016 SP1

Actualizarea cumulativă 8 pentru SQL Server 2014 SP2

Despre actualizările cumulative pentru SQL Server:

Fiecare actualizare cumulativă nouă pentru SQL Server conține toate remedierile rapide și toate remedierile de securitate care au fost incluse cu actualizarea cumulativă anterioară. Consultați cele mai recente actualizări cumulative pentru SQL Server:

Cea mai recentă actualizare cumulativă pentru SQL Server 2017

Cea mai recentă actualizare cumulativă pentru SQL Server 2016

Cea mai recentă actualizare cumulativă pentru SQL Server 2014

Stare

Microsoft a confirmat că aceasta este o problemă în produsele Microsoft care sunt listate în secțiunea „Se aplică la”.

Referințe

Aflați despre terminologia pe care o utilizează Microsoft pentru a descrie actualizările de software.