KB4039089 – PARANDUS: EXCEPTION_ACCESS_VIOLATION tõrge, kui käivitate sys.sp_MScdc_capture_job salvestatud protseduuri SQL Server

Rakenduskoht
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)

Sümptomid

Vaatame järgmist näidet.

  • Oletagem, et teil on sektsioonitud tabelid Microsoft SQL Server ja nad on osa Change Data Jäädvustamine (CDC) või Transactional Replication. Nende tabelite sektsiooni sisse- või väljalülitamine.
  • Pärast sektsioonilülitit andmete töötlemise keele (DML) toimingute tegemisel võite märgata, et ilmneb EXCEPTION_ACCESS_VIOLATION ja genereeritakse mälutõmmise fail.

Märkus.

Kuupäev/kellaaeg ***Pinutõmmis, mis saadetakse FilePathi\FileName
Kuupäev/kellaaeg SqlDumpExceptionHandler: Process ProcessID lõi pöördumatu erandi c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server lõpetab selle protsessi.
Kuupäev/kellaaeg * *******************************************************************************
Kuupäev/kellaaeg
Kuupäev/kellaaeg * VIRNASTAMISTÕMMISE ALUSTAMINE:
Kuupäev/kellaaeg
Kuupäev/kellaaeg
Kuupäev/kellaaeg *
Kuupäev/kellaaeg
Kuupäev/kellaaeg * Erandi aadress = 000007FEE724BD80 Moodul(sqllang+00000000015BBD80)
Kuupäev/kellaaeg * Erandi kood = c0000005 EXCEPTION_ACCESS_VIOLATION
Kuupäev/kellaaeg * lugemisaadressi 000000000000002A ilmnes juurdepääsurikkumine
Kuupäev/kellaaeg * Sisestuspuhver 70 baiti
Kuupäev/kellaaeg * sys.sp_MScdc_capture_job
Kuupäev/kellaaeg *

Märkus.

Kuupäev/kellaaeg ***Pinutõmmis, mis saadetakse FilePathi\FileName
Kuupäev/kellaaeg SqlDumpExceptionHandler: protsessi PID genereeritud pöördumatu erand c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server lõpetab selle protsessi.
Kuupäev/kellaaeg * *******************************************************************************
Kuupäev/kellaaeg *
Kuupäev/kellaaeg * VIRNASTAMISTÕMMISE ALUSTAMINE:
Kuupäev/kellaaeg * Kuupäeva/kellaaja ID
Kuupäev/kellaaeg *
Kuupäev/kellaaeg *
Kuupäev/kellaaeg * Erandi aadress = 000007FEE9D26640 Moodul(sqllang+0000000001586640)
Kuupäev/kellaaeg * Erandi kood = c0000005 EXCEPTION_ACCESS_VIOLATION
Kuupäev/kellaaeg * lugemisaadressi 000000000000002A ilmnes juurdepääsurikkumine
Kuupäev/kellaaeg * Sisestuspuhver 109 baiti –
Kuupäev/kellaaeg * 16 00 00 00 12 00 00 00 02 00 00 00 00 00 00 00 00 00
Kuupäev/kellaaeg * s p _ p e 01 00 00 00 0b 00 73 00 70 00 5f 00 72 00 65 00 70 00
Kuupäev/kellaaeg * l c m d s & ô 6c 00 63 00 6d 00 64 00 73 00 00 00 00 26 04 04 f4
Kuupäev/kellaaeg * & & Ÿ 01 00 00 00 00 26 04 04 00 00 00 00 00 00 26 04 04 ff
Kuupäev/kellaaeg * ŸŸŸ ¥ & ff ff 00 00 a5 0a 00 00 00 00 00 00 26 04 04 8f 13 00
Kuupäev/kellaaeg * & & " 00 00 00 26 04 04 00 00 00 00 00 00 26 04 04 20 a1 07
Kuupäev/kellaaeg * 00

  • Kui käivitate sihttabeli suhtes järgmise päringu, võite märgata, et is_replicated veeru väärtus märgitakse klasterdamata indeksi korral väärtuseks 1, mis pole õige.

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

Lahendus

See probleem on lahendatud järgmistes SQL Server koondvärskendustes.

koondvärskendus 1 SQL Server 2017 jaoks

koondvärskendus 5 SQL Server 2016 SP1 jaoks

koondvärskendus 8 SQL Server 2014 SP2 jaoks

Teave SQL Server koondvärskenduste kohta.

Iga uus koondvärskendus SQL Server sisaldab kõiki kiirparandusi ja kõiki turbeparandusi, mis olid kaasatud eelmise koondvärskenduse. Vaadake uusimaid SQL Server koondvärskendusi.

Uusim koondvärskendus SQL Server 2017 jaoks

Uusim koondvärskendus SQL Server 2016 jaoks

Uusim koondvärskendus SQL Server 2014 jaoks

Olek

Microsoft on kinnitanud, et see on jaotises „Rakenduskoht“ loetletud Microsofti toodete korral esinev probleem.

Viited

Lisateave Microsofti tarkvaravärskenduste terminoloogia kohta.