KB3103998 – RETTELSE: Adgangsfejl, når du kører en INSERT-, UPDATE- eller MERGE sætning på en visning, der bruger WITH CHECK OPTION i SQL Server 2014

Gælder for
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

Når du kører en INSERT-, UPDATE- eller MERGE-sætning i en visning, der er defineret af syntaksen WITH CHECK OPTION, genereres der en dumpfil, og Microsoft SQL Server logger følgende fejlmeddelelser i programloggen:

Bemærk

< tidsstempel> Server En brugeranmodning fra sessionen med SPID <#> genererede en alvorlig undtagelse. SQL Server afslutter denne session. Kontakt Produktsupport med det dump, der er oprettet i logmappen.
…
< tidsstempel> spid<#> SqlDumpExceptionHandler: Proces <#> genereret alvorlig undtagelse c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server afslutter denne proces

Løsning

Oplysninger om samlet opdatering

Problemet blev først løst i følgende kumulative opdatering af SQL Server.

Anbefaling: Installér den seneste kumulative opdatering til SQL Server

Hver ny kumulativ opdatering til SQL Server indeholder alle de hotfixes og alle de sikkerhedsrettelser, der fulgte med den forrige kumulative opdatering. Vi anbefaler, at du downloader og installerer de seneste kumulative opdateringer til SQL Server:

      

Flere oplysninger

Dette problem opstår kun, når du kører en INSERT-, UPDATE- eller MERGE-sætning på en visning, der er defineret ved hjælp af syntaksen WITH CHECK OPTION. Det kunne f.eks. være:

UPDATE "<ViewName>" SET
"<ColumnA>" = <NewValue> WHERE 
("<ColumnB>" = <ColumnBValue>)

Løsning

  • Kør sætningerne INSERT, UPDATE eller MERGE mod de tabeller, der er underliggende for de visninger, der defineres ved hjælp af syntaksen WITH CHECK OPTION.
  • Ændre eller genoprette de relevante visninger for at sikre, at syntaksen for WITH CHECK OPTION ikke bruges.

Status

Microsoft har bekræftet, at dette er et problem i de Microsoft-produkter, der er angivet i afsnittet "Gælder for".