Příznaky
Vezměte v úvahu následující scénář:
- Předpokládejme, že máte v Microsoft SQL Server tabulky rozdělené na oddíly a že jsou součástí Change Data Capture (CDC) nebo transakční replikace. Z těchto tabulek můžete přepínat nebo odpínat oddíly.
- Když provádíte operace jazyka DML (Data Manipulation Language), můžete si po přepnutí oddílu všimnout, že dojde k EXCEPTION_ACCESS_VIOLATION a vygeneruje se soubor s výpisem stavu paměti.
Poznámka
Datum/čas ***Výpis zásobníku odesílaný do FilePath\FileName
Datum a čas SqlDumpExceptionHandler: Process ProcessID generoval závažnou výjimku c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server tento proces ukončuje.
Datum a čas * *******************************************************************************
Datum a čas *
Datum a čas * ZAČÁTEK VÝPISU ZÁSOBNÍKU:
Datum a čas *
Datum a čas *
Datum a čas *
Datum a čas *
Datum/čas * adresa výjimky = 000007FEE724BD80 Module(sqllang+00000000015BBD80)
Datum a čas * Kód výjimky = c0000005 EXCEPTION_ACCESS_VIOLATION
Datum a čas * Došlo k narušení přístupu při čtení adresy 000000000000002A
Datum a čas * vstupní vyrovnávací paměť 70 bajtů
Datum a čas * sys.sp_MScdc_capture_job
Datum a čas *
Poznámka
Datum/čas ***Výpis zásobníku odesílaný do FilePath\FileName
Datum a čas SqlDumpExceptionHandler: Závažná výjimka c0000005 vygenerovaná kódem PID procesu EXCEPTION_ACCESS_VIOLATION. SQL Server tento proces ukončuje.
Datum a čas * *******************************************************************************
Datum a čas *
Datum a čas * ZAČÁTEK VÝPISU ZÁSOBNÍKU:
Datum a čas * Datum/časSPID
Datum a čas *
Datum a čas *
Datum a čas * adresa výjimky = 000007FEE9D26640 Module(sqllang+0000000001586640)
Datum a čas * Kód výjimky = c0000005 EXCEPTION_ACCESS_VIOLATION
Datum a čas * Došlo k narušení přístupu při čtení adresy 000000000000002A
Datum a čas * Vstupní vyrovnávací paměť 109 bajtů -
Datum a čas * 16 00 00 00 12 00 00 00 02 00 00 00 00 00 00 00 00 00 00
Datum a čas * s p _ r e p 01 00 00 00 0b 00 73 00 70 00 5f 00 72 00 65 00 70 00
Datum a čas * l c m d s & ô 6c 00 63 00 6d 00 64 00 73 00 00 00 00 00 00 26 04 04 f4
Datum a čas * & & ÿ 01 00 00 00 00 26 04 04 00 00 00 00 00 00 00 26 04 04 ff
Datum a čas * ÿÿÿ ¥ & ff ff ff 00 00 a5 0a 00 00 00 00 00 00 26 04 04 8f 13 00
Datum a čas * & & ¡ 00 00 00 26 04 04 00 00 00 00 00 00 00 26 04 04 20 A1 07
Datum a čas * 00
- Pokud spustíte následující dotaz na cílovou tabulku, můžete si všimnout, že hodnota is_replicated sloupce bude pro neclusterovaný index označená jako 1, což není správně.
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
Řešení
Tento problém je opravený v následujících kumulativních aktualizacích pro SQL Server:
Kumulativní aktualizace 1 pro SQL Server 2017
Kumulativní aktualizace 5 pro SQL Server 2016 SP1
Kumulativní aktualizace 8 pro SQL Server 2014 SP2
Informace o kumulativních aktualizacích pro SQL Server:
Každá nová kumulativní aktualizace pro SQL Server obsahuje všechny opravy hotfix a všechny opravy zabezpečení, které byly součástí předchozí kumulativní aktualizace. Podívejte se na nejnovější kumulativní aktualizace pro SQL Server:
Nejnovější kumulativní aktualizace pro SQL Server 2017
Nejnovější kumulativní aktualizace pro SQL Server 2016
Nejnovější kumulativní aktualizace pro SQL Server 2014
Stav
Společnost Microsoft potvrdila, že se jedná o problém produktů Microsoft, které jsou uvedeny v sekci Platí pro.
Reference
Podívejte se na informace o terminologii, kterou společnost Microsoft používá k popisování aktualizací softwaru.