Simptomi
Razmislite o sljedećem scenariju:
-
Pretpostavimo da ste particionirani tablice u microsoft SQL Server i da su dio CDC (Change Data Capture) ili Transactional Replication. Iz tih se tablica prebacuje particija ili se prebacuje iz njih.
-
Nakon promjene particije prilikom izvođenja operacija jezika za manipulaciju podacima (DML), možda ćete primijetiti da se pojavljuje EXCEPTION_ACCESS_VIOLATION i generira se datoteka izvatka memorije.
Date/Time ***Stack Dump being sent to FilePath\FileName
Date/Time SqlDumpExceptionHandler: Process ProcessID generated fatal exception c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server prekida ovaj proces.
Datum/vrijeme * ***************************
Date/Time *
Date/Time * BEGIN STACK DUMP:
Date/Time * Date/Time *
Date/Time *
Date/Time *
Date/Time * Exception Address = 00007FEE724BD80 Module(sqllang+0000000015BBD80)
Datum/vrijeme * Kod iznimke = c0000005 EXCEPTION_ACCESS_VIOLATION
datum/vrijeme * Došlo je do kršenja prava pristupa prilikom čitanja adrese 000000000000002A
Datum/ vrijeme * Ulazni međuspremnik 70 bajtova
Datum/ vrijeme * sys.sp_MScdc_capture_job
datum/vrijeme *
Date/Time ***Stack Dump being sent to FilePath\FileName
Date/Time SqlDumpExceptionHandler: Process PID generated fatal exception c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server prekida ovaj proces.
Datum/ vrijeme * ***********************
Date/Time *
Date/Time * BEGIN STACK DUMP:
Date/Time * Date/TimeSPID
Date/Time *
Date
/Time * Exception Address = 000007FEE9D26640 Module(sqllang+0000000001586640)
Datum/ vrijeme * Šifra iznimke = c0000005 EXCEPTION_ACCESS_VIOLATION
Datum/ vrijeme * Došlo je do kršenja prava pristupa prilikom čitanja adrese 000000000000002A
Datum/ vrijeme * Ulazni međuspremnik 109 bajtova -
Date/Time * 16 00 00 00 12 00 00 00 02 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 00Datum/ 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 * & & csv 01 00 00 00 00 00 26 04 04 00 00 00 00 00 00 26 04 04 ff
Datum/vrijeme * ksks ¥ & ff ff ff 00 00 a5 0a 00 00 00 00 00 26 04 04 8f 13 00
Datum/ vrijeme * & & ¡ 00 00 00 00 26 04 04 00 00 00 00 00 26 04 04 20 a1 07
Datum/vrijeme * 00
-
Ako sljedeći upit pokrenete u odnosu na odredišnu tablicu, možda ćete primijetiti da će vrijednost stupca is_replicated biti označena kao "1" za indeks koji nije ispravan.
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.
Svako novo kumulativno ažuriranje za SQL Server sadrži sve hitne popravke i sve 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.
Status
Microsoft je potvrdio da je to problem u Microsoftovim proizvodima koji su navedeni u odjeljku "Odnosi se na".
Reference
Informirajte se o terminologijikoju Microsoft koristi za opisivanje softverskih ažuriranja.