Symptomen
Neem als voorbeeld het volgende scenario:
- Stel dat u gepartitioneerde tabellen hebt in Microsoft SQL Server en dat deze deel uitmaken van Change Data Noteren (CDC) of transactionele replicatie. U schakelt partitie in of uit vanuit deze tabellen.
- Als je na het wisselen van partitie DML-bewerkingen (Data Manipulation Language) uitvoert, merk je mogelijk dat er een EXCEPTION_ACCESS_VIOLATION optreedt en dat er een geheugendumpbestand wordt gegenereerd.
Opmerking
Datum/tijd ***Stackdump die wordt verzonden naar FilePath\FileName
Datum/tijd SqlDumpExceptionHandler: door proces-id gegenereerde fatale uitzondering c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server beëindigt dit proces.
Datum/tijd * *******************************************************************************
Datum/tijd *
Datum/tijd * BEGIN STACK DUMP:
Datum/tijd *
Datum/tijd *
Datum/tijd *
Datum/tijd *
Datum/tijd * Uitzonderingsadres = 000007FEE724BD80 Module(sqllang+000000000015BBD80)
Datum/tijd * Uitzonderingscode = c0000005 EXCEPTION_ACCESS_VIOLATION
Datum/tijd * Er is een toegangsfout opgetreden: leesadres 000000000000002A
Datum/tijd * invoerbuffer 70 bytes
Datum/tijd * sys.sp_MScdc_capture_job
Datum/tijd *
Opmerking
Datum/tijd ***Stackdump die wordt verzonden naar FilePath\FileName
Datum/tijd SqlDumpExceptionHandler: door proces gegenereerde onherstelbare uitzondering c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server beëindigt dit proces.
Datum/tijd * *******************************************************************************
Datum/tijd *
Datum/tijd * BEGIN STACK DUMP:
Datum/tijd * Date/TimeSPID
Datum/tijd *
Datum/tijd *
Datum/tijd * Exception Address = 000007FEE9D26640 Module(sqllang+0000000001586640)
Datum/tijd * Uitzonderingscode = c0000005 EXCEPTION_ACCESS_VIOLATION
Datum/tijd * Er is een toegangsfout opgetreden: leesadres 000000000000002A
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
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 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 8f 13 00
Datum/tijd * & & ¡ 00 00 00 26 04 04 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-gegroepeerde index, wat niet correct 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
Cumulatieve update 5 voor SQL Server 2016 SP1
Cumulatieve update 8 voor SQL Server 2014 SP2
Over cumulatieve updates voor SQL Server:
Elke nieuwe cumulatieve update voor SQL Server bevat alle hotfixes en alle beveiligingspatches die deel uitmaakten van de vorige cumulatieve update. Bekijk de meest recente cumulatieve updates voor SQL Server:
Meest recente cumulatieve update voor SQL Server 2017
Meest recente cumulatieve update voor SQL Server 2016
Meest recente cumulatieve update voor SQL Server 2014
Status
Microsoft heeft bevestigd dat dit een probleem is bij de Microsoft-producten die worden vermeld in de sectie Van toepassing op.
Meer informatie
Meer informatie over de terminologie die Microsoft gebruikt om software-updates te beschrijven.