KB2950189 – JAVÍTÁS: Hozzáférés-megsértés történik, amikor frissítő lekérdezést hajt végre egy olyan táblán, amelynek DML-eseményindítója SQL Server

Hatókör
SQL Server 2008 R2 Service Pack 2 SQL Server 2008 R2 Developer SQL Server 2008 R2 Enterprise SQL Server 2008 R2 Standard SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Standard SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

Tünetek

Tegyük fel, hogy van egy olyan táblája, amelyhez DML-eseményindító tartozik a Microsoft SQL Server 2008 R2-ben, az SQL Server 2012-ben vagy az SQL Server 2014-ben, és ebben az eseményindítóban más táblákhoz illeszti a beszúrt/törölt táblákat. Ha ezen a táblán DML-utasítást hajt végre, hozzáférés-megsértés történhet az eseményindítók fordítása közben, és a következő hibaüzenet jelenhet meg:

Megjegyzés

Súlyos hiba történt az aktuális parancsban. Az esetleges eredményeket el kell vetni.

Emellett a rendszer a következő hibákat naplózza az SQL Server hibanaplójába:

Megjegyzés

<Dátum><és idő> spid# ***A memóriakép elküldése a <FilePath>\SQLDumpxxx.txt-nek
<Dátum><és idő> spid# SqlDumpExceptionHandler: Process # generated fatal exception c0000005 EXCEPTION_ACCESS_VIOLATION. Az SQL Server leállítja ezt a folyamatot.
<Dátum><és idő> spid# * *******************************************************************************
<Dátum><és idő> spid# *
<Date><Time> spid# * STACK DUMP BEGIN STACK DUMP:
<Dátum><és idő> spid# * <Dátum><és idő> spid #
<Dátum><és idő> spid# *
<Dátum><és idő> spid# *
<Dátum><és idő> spid# * Kivételcím = 00000000009E4F2A Modul(sqlservr+000000000002D4F2A)
<Dátum><és idő> spid# * Kivételkód = c0000005 EXCEPTION_ACCESS_VIOLATION
<Dátum><és idő> spid# * Hozzáférés-megsértés történt 0000000000000000 cím írásakor
<Dátum><és idő> spid# * Bemeneti puffer 510 bájt -
<Dátum><és idő> spid# * SQL_query_code

Megoldás

A hibát először az SQL Server következő összegző frissítésében javítottuk.

1. összegző frissítés a SQL Server 2012 SP2 rendszerhez /en-us/help/2976982

2. összegző frissítés a SQL Server 2014-hez /en-us/help/2967546

10-es összegző frissítés a SQL Server 2012 SP1 rendszerhez /en-us/help/2954099

12-es összegző frissítés a SQL Server 2008 R2 SP2 rendszerhez /en-us/help/2938478

Az SQL Server összegző frissítéseinek ismertetése

Az SQL Server minden új összegző frissítése tartalmazza az összes gyorsjavítást és minden biztonsági javítást, amely az előző kumulatív frissítésben szerepelt. Tekintse meg az SQL Server legújabb összegző frissítéseit:

      

Kerülő megoldás

A probléma megoldásához ne használja a beszúrt/törölt táblát közvetlenül egy lekérdezésben, hanem csatlakoztassa azt más táblákkal, hanem gyorsítótárazza egy ideiglenes táblában, és használja a temp táblát a lekérdezésben.

Állapot

A Microsoft megerősítette, hogy ez egy olyan probléma a Microsoft-termékekben, amely az „Érintett szolgáltatás“ című szakaszban van felsorolva.