Symptomen
Neem het volgende scenario:
-
Stel dat u tabellen hebt gepartitioneerd in Microsoft SQL Server en dat ze deel uitmaken van Change Data Capture (CDC) of Transactionele replicatie. U schakelt de partitie in of uit vanuit deze tabellen.
-
Na het schakelen tussen partities wanneer u DML-bewerkingen (Data Manipulation Language) uitvoert, ziet u mogelijk dat er een EXCEPTION_ACCESS_VIOLATION optreedt en dat er een geheugendumpbestand wordt gegenereerd.
Datum/tijd **StackDump wordt verzonden naar FilePath\FileName
Date/Time SqlDumpExceptionHandler: Process ProcessID gegenereerd fatale uitzondering c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server beëindigt dit proces.
Datum/tijd * ****************************************************************************************** ********
000007FEE724BD80 Module(sqllang+0000000015BBD80)
Datum/tijd * Uitzonderingscode = c0000005 EXCEPTION_ACCESS_VIOLATION
Datum/tijd * Toegangsfout opgetreden leesadres 00000000000002A
Datum/tijd * Invoerbuffer 70 bytes
Datum/tijd * sys.sp_MScdc_capture_job
Datum/tijd *
Datum/tijd **StackDump wordt verzonden naar FilePath\FileName
Date/Time SqlDumpExceptionHandler: Proces PID gegenereerd fatale uitzondering c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server beëindigt dit proces.
Datum/tijd * ********************************************************** EXCEPTION_ACCESS_VIOLATION
0000000001586640************
************
Datum/tijd * Toegangsfout opgetreden leesadres 00000000000002A
Datum/tijd * Invoerbuffer 109 bytes -
Datum/tijd * 16 00 00 00 12 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00
datum/Tijd * s p _ r e p 01 00 00 00 0b 00 73 00 70 00 5f 00 72 00 65 00 70 00
Datum/tijd * l c m d s & ô 6c 00 63 00 6d 00 64 00 73 00 00 00 00 00 26 04 04 f4
Datum/tijd * & & 01 00 00 00 00 00 00 00 0 00 26 04 04 00 00 00 00 00 00 26 04 04 ff
Datum/tijd * ÿÿÿ ¥ & ff ff ff 00 00 a5 0a 00 00 00 00 00 26 04 04 04 8f 13 00
Datum/tijd * & & ¡ 00 00 00 26 04 04 00 00 00 00 00 00 00 26 04 04 20 a1 07
Datum/tijd * 00
-
Als u de volgende query uitvoert op de doeltabel, ziet u mogelijk dat de waarde van de is_replicated kolom wordt gemarkeerd als '1' voor niet-geclusterde index die niet juist is.
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
Oplossing
Dit probleem is opgelost in de volgende cumulatieve updates voor SQL Server:
Cumulatieve update 1 voor SQL Server 2017
Elke nieuwe cumulatieve update voor SQL Server bevat alle hotfixes en alle beveiligingspatches die zijn opgenomen in de vorige cumulatieve update. Bekijk de meest recente cumulatieve updates voor SQL Server:
Meest recente cumulatieve update voor SQL Server 2017
Status
Microsoft heeft bevestigd dat dit probleem zich kan voordoen in de Microsoft-producten die worden vermeld in de sectie Van toepassing op.
Verwijzingen
Meer informatie over de terminologiedie Microsoft gebruikt om software-updates te beschrijven.