Symptomer
Tenk deg følgende:
- La oss si at du har partisjonerte tabeller i Microsoft SQL Server, og at de er en del av Change Data Referat (CDC) eller transaksjonsreplikering. Du bytter inn eller ut partisjon fra disse tabellene.
- Når du utfører DML (Data Manipulation Language)-operasjoner etter partisjonsbyttet, legger du kanskje merke til at en EXCEPTION_ACCESS_VIOLATION oppstår og at en minnedumpfil genereres.
Obs!
Dato/klokkeslett ***Stakkdump sendes til FilePath\FileName
Dato/klokkeslett SqlDumpExceptionHandler: Prosess-ID genererte fatalt unntak c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server avslutter denne prosessen.
Dato/klokkeslett * *******************************************************************************
Dato/klokkeslett *
Dato/klokkeslett * START STAKKDUMP:
Dato/klokkeslett *
Dato/klokkeslett *
Dato/klokkeslett *
Dato/klokkeslett *
Date/Time * Exception Address = 000007FEE724BD80 Module(sqllang+0000000015BBD80)
Dato/klokkeslett * Unntakskode = c0000005 EXCEPTION_ACCESS_VIOLATION
Dato/klokkeslett * Tilgangsbrudd oppstod ved å lese adresse 000000000000002A
Dato/klokkeslett * Inndatabuffer 70 byte
Dato/klokkeslett * sys.sp_MScdc_capture_job
Dato/klokkeslett *
Obs!
Dato/klokkeslett ***Stakkdump sendes til FilePath\FileName
Dato/klokkeslett SqlDumpExceptionHandler: Prosess-PID genererte fatalt unntak c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server avslutter denne prosessen.
Dato/klokkeslett * *******************************************************************************
Dato/klokkeslett *
Dato/klokkeslett * START STAKKDUMP:
Dato/klokkeslett * Dato/klokkeslettSPID
Dato/klokkeslett *
Dato/klokkeslett *
Date/Time * Exception Address = 000007FEE9D26640 Module(sqllang+0000000001586640)
Dato/klokkeslett * Unntakskode = c0000005 EXCEPTION_ACCESS_VIOLATION
Dato/klokkeslett * Tilgangsbrudd oppstod ved å lese adresse 000000000000002A
Dato/klokkeslett * Inndatabuffer 109 byte –
Dato/klokkeslett * 16 00 00 00 12 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Dato/klokkeslett * s p _ r e p 01 00 00 00 0b 00 73 00 70 00 5f 00 72 00 65 00 70 00
Dato/klokkeslett * l c m d s & ô 6c 00 63 00 6d 00 64 00 73 00 00 00 00 00 26 04 04 f4
Dato/klokkeslett * & & ÿ 01 00 00 00 00 26 04 04 00 00 00 00 00 00 26 04 04 ff
Dato/klokkeslett * ÿÿÿ ¥ & ff ff ff ff 00 00 a5 0a 00 00 00 00 00 26 04 04 8f 13 00
Dato/klokkeslett * & & ¡ 00 00 00 26 04 04 00 00 00 00 00 00 26 04 04 20 a1 07
Dato/klokkeslett * 00
- Hvis du kjører følgende spørring mot måltabellen, vil du kanskje legge merke til at verdien i den is_replicated kolonnen blir merket som '1' for ikke-gruppert indeks, noe som ikke er riktig.
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
Oppløsning
Dette problemet er løst i følgende kumulative oppdateringer for SQL Server:
Kumulativ oppdatering 1 for SQL Server 2017
Kumulativ oppdatering 5 for SQL Server 2016 SP1
Kumulativ oppdatering 8 for SQL Server 2014 SP2
Om kumulative oppdateringer for SQL Server:
Hver nye kumulative oppdatering for SQL Server inneholder alle hurtigreparasjoner og alle sikkerhetsrettinger som fulgte med den forrige kumulative oppdateringen. Ta en titt på de nyeste kumulative oppdateringene for SQL Server:
Den nyeste kumulative oppdateringen for SQL Server 2017
Den nyeste kumulative oppdateringen for SQL Server 2016
Den nyeste kumulative oppdateringen for SQL Server 2014
Status
Microsoft har bekreftet at dette er et problem i Microsoft-produktene som er oppført i delen «Gjelder for».
Kilder
Finn ut mer om terminologien som Microsoft bruker til å beskrive programvareoppdateringer.