KB2950189 – LØSNING: Et brudd på tilgangstillatelse oppstår når du kjører oppdateringsspørring på en tabell som har en DML-utløser i SQL Server

Gjelder for
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)

Symptomer

La oss si at du har en tabell som har en DML-utløser i Microsoft SQL Server 2008 R2, SQL Server 2012 eller SQL Server 2014, og i denne utløseren slår du sammen den innsatte/slettede tabellen med andre tabeller. Når du kjører et DML-uttrykk på denne tabellen, kan det oppstå et tilgangsbrudd under utløserkompilering, og du får følgende feilmelding:

Obs!

Det oppstod en alvorlig feil på gjeldende kommando. Eventuelle resultater bør forkastes.

I tillegg logges følgende feil i SQL Server-feilloggen:

Obs!

<Dato><og klokkeslett> spid# ***Stakkdump sendes til <FilePath>\SQLDumpxxx.txt
<Dato><og klokkeslett> spid# SqlDumpExceptionHandler: Prosess # genererte kritisk unntak c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server avslutter denne prosessen.
<Dato><og klokkeslett> spid# * *******************************************************************************
<Dato><og klokkeslett> spid# *
<Dato><og klokkeslett> spid# * START STAKKDUMP:
<Dato><og klokkeslett> spid# * <Dato><og klokkeslett> spid #
<Dato><og klokkeslett> spid# *
<Dato><og klokkeslett> spid# *
<Dato><og klokkeslett> spid# * Unntaksadresse = 00000000009E4F2A Module(sqlservr+0000000002D4F2A)
<Dato><og klokkeslett> spid# * Unntakskode = c0000005 EXCEPTION_ACCESS_VIOLATION
<Dato><og klokkeslett> spid# * Tilgangsbrudd skjedde skriveadresse 0000000000000000000
<Dato><og klokkeslett> spid# * Inndatabuffer 510 byte –
<Dato><og klokkeslett> spid# * SQL_query_code

Oppløsning

Problemet ble først løst i den følgende kumulative oppdateringen av SQL Server.

Kumulativ oppdatering 1 for SQL Server 2012 SP2 /en-us/help/2976982

Kumulativ oppdatering 2 for SQL Server 2014 /en-us/help/2967546

Kumulativ oppdatering 10 for SQL Server 2012 SP1 /en-us/help/2954099

Kumulativ oppdatering 12 for SQL Server 2008 R2 SP2 /en-us/help/2938478

Om kumulative oppdateringer for SQL Server

Hver nye kumulative oppdatering for SQL Server inneholder alle hurtigreparasjoner og alle sikkerhetsrettinger som fulgte med den forrige kumulative oppdateringen. Ta en titt på de nyeste kumulative oppdateringene for SQL Server:

      

Midlertidig løsning

Hvis du vil omgå problemet, kan du ikke bruke den innsatte/slettede tabellen direkte i en spørring som slår den sammen med andre tabeller, men i stedet bufre den i en midlertidig tabell og bruke midlertidig tabell i spørringen.

Status

Microsoft har bekreftet at dette er et problem i Microsoft-produktene som er oppført i delen «Gjelder for».