KB4039089 – RJEŠENJE: EXCEPTION_ACCESS_VIOLATION pogreške kada izvršite sys.sp_MScdc_capture_job spremljenu proceduru u SQL Server

Primjenjuje se na
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)

Simptomi

Razmotrite sljedeći scenarij:

  • Pretpostavimo da imate particionirane tablice u sustavu Microsoft SQL Server i da su one dio Change Data Capture (CDC) ili Transactional Replication. Particiju ubacujete ili isključujete iz tih tablica.
  • Nakon prebacivanja particije kada izvodite operacije jezika za manipulaciju podacima (DML), možda ćete primijetiti da se pojavljuje EXCEPTION_ACCESS_VIOLATION i generira se datoteka s izvatkom memorije.

Napomena

Datum/vrijeme ***Izvadak o stanju pri padu stoga šalje se na polje FilePath\FileName
Datum/vrijeme SqlDumpExceptionHandler: Process ProcessID generirao je fatalnu iznimku c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server prekida ovaj postupak.
Datum/vrijeme * *******************************************************************************
Datum/vrijeme
Datum/vrijeme * POČETAK IZVATKA O STANJU TEMELJA:
Datum/vrijeme
Datum/vrijeme
Datum/vrijeme *
Datum/vrijeme
Datum/vrijeme * Adresa iznimke = 0000007FEE724BD80 Module(sqllang+00000000015BBD80)
Datum/vrijeme * Kod iznimke = c0000005 EXCEPTION_ACCESS_VIOLATION
Datum/vrijeme * Došlo je do povrede pristupa prilikom čitanja adrese 000000000000002A
Datum/vrijeme * Ulazni međuspremnik: 70 bajtova
Datum/vrijeme * sys.sp_MScdc_capture_job
Datum/vrijeme *

Napomena

Datum/vrijeme ***Izvadak o stanju pri padu stoga šalje se na polje FilePath\FileName
Datum/vrijeme SqlDumpExceptionHandler: Proces PID-a generirao je fatalnu iznimku c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server prekida ovaj postupak.
Datum/vrijeme * *******************************************************************************
Datum/vrijeme *
Datum/vrijeme * POČETAK IZVATKA O STANJU TEMELJA:
Datum/vrijeme * Date/TimeSPID
Datum/vrijeme *
Datum/vrijeme *
Datum/vrijeme * Adresa iznimke = 000007FEE9D26640 Module(sqllang+0000000001586640)
Datum/vrijeme * Kod iznimke = c0000005 EXCEPTION_ACCESS_VIOLATION
Datum/vrijeme * Došlo je do povrede pristupa prilikom čitanja adrese 000000000000002A
Datum/vrijeme * Ulazni međuspremnik: 109 bajtova –
Datum/vrijeme * 16 00 00 00 12 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00
Datum/vrijeme * s p _ r e p 01 00 00 00 0b 00 73 00 70 00 5f 00 72 00 65 00 70 00
Datum/vrijeme * l c m d s & ô 6c 00 63 00 6d 00 64 00 73 00 00 00 00 00 26 04 04 f4
Datum/vrijeme * & & ÿ 01 00 00 00 00 26 04 04 00 00 00 00 00 00 00 26 04 04 ff
Datum/vrijeme * ÿÿÿ ¥ & ff ff ff 00 00 a5 0a 00 00 00 00 00 00 26 04 04 8f 13 00
Datum/vrijeme * & & ¡ 00 00 00 26 04 04 00 00 00 00 00 00 26 04 04 20 a1 07
Datum/vrijeme * 00

  • Ako pokrenete sljedeći upit na odredišnoj tablici, možda ćete primijetiti da će vrijednost stupca is_replicated biti označena kao "1" za indeks koji nije klasteriran, što nije točno.

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

Rješenje

Taj je problem riješen u sljedećim kumulativnim ažuriranjima za SQL Server:

Kumulativno ažuriranje 1 za SQL Server 2017

Kumulativno ažuriranje 5 za SQL Server 2016 SP1

Kumulativno ažuriranje 8 za SQL Server 2014 SP2

O kumulativnim ažuriranjima za SQL Server:

Svako novo kumulativno ažuriranje za SQL Server sadrži sve hitne popravke i sigurnosne popravke koji su obuhvaćeni prethodnim kumulativnim ažuriranjem. Pogledajte najnovija kumulativna ažuriranja za SQL Server:

Najnovije kumulativno ažuriranje za SQL Server 2017

Najnovije kumulativno ažuriranje za SQL Server 2016

Najnovije kumulativno ažuriranje za SQL Server 2014

Status

Microsoft je potvrdio da je to problem u Microsoftovim proizvodima koji su navedeni u odjeljku „Odnosi se na“.

Reference

Saznajte više o terminologiji koju Microsoft upotrebljava za opisivanje softverskih ažuriranja.