Jelenségek
Vegye figyelembe a következő forgatókönyvet:
-
Tegyük fel, hogy particionált táblákkal rendelkezik a Microsoft SQL Server, és ezek az adatváltozások rögzítésének (CDC) vagy a tranzakciós replikációnak a részei. Ezekről a táblákról válthat be vagy válthat ki partíciókat.
-
Az adatmanipulációs nyelv (DML) műveleteinek végrehajtásakor a partícióváltás után megfigyelheti, hogy EXCEPTION_ACCESS_VIOLATION történik, és memóriaképfájl jön létre.
Date/Time ***Stack Dump a FilePath\FileName
Date/Time SqlDumpExceptionHandler: ProcessID által generált végzetes kivétel c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server megszakítja ezt a folyamatot. Dátum/idő * *********************************** Dátum/idő * Dátum/idő * KEZDŐ HALOM MEMÓRIAKÉP: Dátum/idő * Dátum/idő * Dátum/idő * Dátum/idő * Dátum/idő * Dátum/idő * Kivétel címe = 000007FEE724BD80 Module(sqllang+0000000015BBD80) Date/Time * Exception Code = c00000005 EXCEPTION_ACCESS_VIOLATION Date/Time * Hozzáférés megsértése történt olvasási cím: 00000000000002A dátum/idő * Bemeneti puffer 70 bájt dátum/idő * sys.sp_MScdc_capture_job dátum/idő *Date/Time ***Stack Dump a FilePath\FileName
Date/Time SqlDumpExceptionHandler: Process PID által generált végzetes kivétel c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server megszakítja ezt a folyamatot. Dátum/idő * *************************************** Dátum/idő * Dátum/idő * KEZDŐ VEREM MEMÓRIAKÉP: Dátum/idő * Dátum/idő SPID dátum/idő * Dátum/ idő * Dátum/idő * Kivétel címe = 000007FEE9D26640 Module(sqllang+0000000001586640) Date/Time * Exception Code = c0000005 EXCEPTION_ACCESS_VIOLATION Dátum/idő * Hozzáférés megsértése történt olvasási cím 0000000000002A Dátum/idő * Bemeneti puffer 109 bájt - Dátum/idő * 16 00 00 00 00 12 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00 Date/ 00 Idő * s p _ r e p 01 00 00 00 0b 00 73 00 70 00 5f 00 72 00 65 00 70 00 Dátum/idő * l c m d s & ô 6c 00 63 00 6d 00 64 00 73 00 00 00 00 26 04 04 f4 Dátum/idő * & & ÿ 01 00 00 00 0 0 26 04 04 00 00 00 00 00 00 26 04 04 ff Dátum/idő * ÿÿÿ ¥ & ff ff ff 00 00 a5 0a 00 00 00 00 00 26 04 04 8f 13 00 Dátum /Time * & & ¡ 00 00 00 26 04 04 00 00 00 00 00 00 26 04 04 20 a1 07 Dátum/idő * 00-
Ha a következő lekérdezést a céltáblán futtatja, észreveheti, hogy a is_replicated oszlop értéke "1" lesz a nem fürtözött index esetében, ami nem megfelelő.
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
Megoldás
Ezt a problémát a következő összegző frissítések javítják ki a SQL Server esetében:
1. kumulatív frissítés a 2017.SQL Server-hez
A SQL Server minden új összegző frissítése tartalmazza az összes gyorsjavítást és az előző összegző frissítésben szereplő összes biztonsági javítást. Tekintse meg az SQL Server legújabb összegző frissítéseit:
A SQL Server 2017 legújabb összegző frissítése
Állapot
A Microsoft megerősítette, hogy ez a probléma „A következőkre vonatkozik:” részben felsorolt Microsoft-termékekre vonatkozik.
Hivatkozások
Ismerje meg a Microsoft által a szoftverfrissítések leírására használt terminológiát.