KB3103998 – PARANDUS: access violation when run an INSERT, UPDATE or MERGE statement on a view that uses WITH CHECK OPTION in SQL Server 2014

Rakenduskoht
SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

Sümptomid

Kui käivitate lause INSERT, UPDATE või MERGE süntaksiga WITH CHECK OPTION määratletud vaates, luuakse tõmmisefail ja Microsoft SQL Server logib rakenduselogisse järgmised tõrketeated:

Märkus.

< ajatempel> Server – seansi SPID <#> -ga kasutaja taotlus genereeris pöördumatu erandi. SQL Server lõpetab selle seansi. Võtke ühendust tootetoe teenustega logikataloogis toodetud tõmmisega.
…
< ajatempel> spid<#> SqlDumpExceptionHandler: Process <#> genereeritud pöördumatu erand c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server lõpetab selle protsessi

Lahendus

Koondvärskenduse teave

Probleem lahendati esmalt järgmises SQL Server koondvärskenduses.

Soovitus: installige SQL Server uusim koondvärskendus

Iga uus koondvärskendus SQL Server sisaldab kõiki kiirparandusi ja kõiki turbeparandusi, mis olid kaasatud eelmise koondvärskenduse. Soovitame teil alla laadida ja installida SQL Server uusimad koondvärskendused.

      

Veel teavet

See probleem ilmneb ainult siis, kui käivitate lause INSERT, UPDATE või MERGE vaates, mis on määratletud süntaksiga WITH CHECK OPTION. Siin on mõned näited.

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

Ajutine lahendus

  • Käivitage laused INSERT, UPDATE või MERGE nende tabelite suhtes, mis on aluseks süntaksi WITH CHECK OPTION abil määratletud vaadete aluseks olevatele tabelitele.
  • Muutke rakendatavaid vaateid või looge need uuesti, veendumaks, et süntaksit WITH CHECK OPTION ei kasutata.

Olek

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