KB4039089 – FIX: EXCEPTION_ACCESS_VIOLATION Fehler beim Ausführen der sys.sp_MScdc_capture_job gespeicherten Prozedur in SQL Server

Gilt für
SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use) SQL Server 2016 Service Pack 1 SQL Server 2017 on Windows (all editions) SQL Server 2017 on Linux (all editions) SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

Symptome

Nehmen Sie folgendes Szenario an:

  • Angenommen, Sie haben partitionierte Tabellen in Microsoft SQL Server, und diese sind Teil von Change Data Mitschreiben (CDC) oder Transaktionsreplikation. Sie können Partitionen aus diesen Tabellen ein- oder ausschalten.
  • Wenn Sie nach dem Partitionswechsel DML-Vorgänge (Data Manipulation Language) ausführen, stellen Sie möglicherweise fest, dass eine EXCEPTION_ACCESS_VIOLATION auftritt und eine Speicherabbilddatei generiert wird.

Hinweis

Datum/Uhrzeit ***Senden des Stack-Speicherabbilds an FilePath\FileName
Datum/Uhrzeit SqlDumpExceptionHandler: Process ProcessID generated fatal exception c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server beendet diesen Prozess.
Datum/Uhrzeit * *******************************************************************************
Datum/Uhrzeit * 
Datum/Uhrzeit * BEGIN STACK DUMP:
Datum/Uhrzeit * 
Datum/Uhrzeit * 
Datum/Uhrzeit *
Datum/Uhrzeit * 
Datum/Uhrzeit * Ausnahmeadresse = 000007FEE724BD80 module(sqllang+0000000015BBD80)
Datum/Uhrzeit * Ausnahmecode = c0000005 EXCEPTION_ACCESS_VIOLATION
Datum/Uhrzeit * Zugriffsverletzung beim Lesen der Adress 000000000000002A aufgetreten
Datum/Uhrzeit * Eingabepuffer 70 Bytes
Datum/Uhrzeit * sys.sp_MScdc_capture_job
Datum/Uhrzeit *

Hinweis

Datum/Uhrzeit ***Senden des Stack-Speicherabbilds an FilePath\FileName
Datum/Uhrzeit SqlDumpExceptionHandler: Prozess-PID generierte schwerwiegende Ausnahme c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server beendet diesen Prozess.
Datum/Uhrzeit * *******************************************************************************
Datum/Uhrzeit *
Datum/Uhrzeit * BEGIN STACK DUMP:
Datum/Uhrzeit * Datum/UhrzeitSPID
Datum/Uhrzeit *
Datum/Uhrzeit *
Datum/Uhrzeit * Ausnahmeadresse = 000007FEE9D26640 module(sqllang+0000000001586640)
Datum/Uhrzeit * Ausnahmecode = c0000005 EXCEPTION_ACCESS_VIOLATION
Datum/Uhrzeit * Zugriffsverletzung beim Lesen der Adress 000000000000002A aufgetreten
Datum/Uhrzeit * Eingabepuffer 109 Bytes –
Datum/Uhrzeit * 16 00 00 00 12 00 00 00 02 00 00 00 00 00 00 00 00 00
Datum/Uhrzeit * s p _ r e p 01 00 00 00 0b 00 73 00 70 00 5f 00 72 00 65 00 70 00
Datum/Uhrzeit * l c m d s & ô 6c 00 63 00 6d 00 64 00 73 00 00 00 00 00 26 04 04 f4
Datum/Uhrzeit * & & ÿ 01 00 00 00 00 26 04 04 00 00 00 00 00 00 00 26 04 04 ff
Datum/Uhrzeit * ÿÿÿ ¥ & ff ff ff 00 00 a5 0a 00 00 00 00 00 26 04 04 8f 13 00
Datum/Uhrzeit * & & ¡ 00 00 00 26 04 00 00 00 00 00 00 00 26 04 04 20 A1 07
Datum/Uhrzeit * 00

  • Wenn Sie die folgende Abfrage für die Zieltabelle ausführen, stellen Sie möglicherweise fest, dass der Wert der is_replicated Spalte als "1" markiert wird, um einen nicht gruppierten Index zu verwenden, was nicht korrekt ist.

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

Lösung

Dieses Problem wurde in den folgenden kumulativen Updates für SQL Server behoben:

Kumulatives Update 1 für SQL Server 2017

Kumulatives Update 5 für SQL Server 2016 SP1

Kumulatives Update 8 für SQL Server 2014 SP2

Informationen zu kumulativen Updates für SQL Server:

Jedes neue kumulative Update für SQL Server enthält alle Hotfixes und Sicherheitsfixes, die im vorherigen kumulativen Update enthalten waren. Sehen Sie sich die neuesten kumulativen Updates für SQL Server an:

Neuestes kumulative Update für SQL Server 2017

Neuestes kumulative Update für SQL Server 2016

Neuestes kumulative Update für SQL Server 2014

Status

Microsoft hat bestätigt, dass dies ein Problem bei den Microsoft-Produkten ist, die im Abschnitt „Gilt für“ aufgeführt sind.

Referenzmaterial

Informieren Sie sich über die Terminologie, die Microsoft zum Beschreiben von Softwareupdates verwendet.