KB3136496 - REMEDIERE: Violarea accesului apare atunci când o interogare face referire la o funcție SQLCLR prin intermediul unui sinonim în SQL Server 2014 și 2016

Se aplică la
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 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)

Simptome

Luați în considerare următorul scenariu:

  • Există o funcție SQLCLR declarată ca "deterministă", iar funcția poate fi utilizată pentru optimizarea "înlocuirii cu o constantă".
  • Există un sinonim care indică spre funcția SQLCLR.
  • O funcție cu valori de tabel (TVF) face referire la funcția SQLCLR prin intermediul sinonimului.

În acest scenariu, atunci când o aplicație interoghează acest TVF, poate apărea o încălcare a accesului și puteți primi un mesaj de eroare care seamănă cu următorul:

Notă

  • Mesajul 0, Nivelul 11, Starea 0, rândul 14
  • S-a produs o eroare gravă la comanda curentă. Ar trebui eliminate rezultatele, dacă există.

În plus, este înregistrat un mesaj de eroare în jurnalul de erori SQL Server.

Rezolvare

Informații despre pachetele Service Pack pentru SQL Server

Această problemă este remediată în următorul pachet Service Pack pentru SQL Server:

Service Pack 2 pentru SQL Server 2016

Service Pack 3 pentru SQL Server 2014

Despre pachetele Service Pack pentru SQL Server:

Pachetele Service Pack sunt cumulative. Fiecare pachet Service Pack nou conține toate remedierile din pachetele Service Pack anterioare, împreună cu orice remedieri noi. Recomandarea noastră este să aplicați cel mai recent pachet Service Pack și cea mai recentă actualizare cumulativă pentru acel pachet Service Pack. Nu trebuie să instalați un pachet Service Pack anterior înainte de a instala cel mai recent pachet Service Pack. Utilizați Tabelul 1 din următorul articol pentru a găsi mai multe informații despre cel mai recent pachet Service Pack și cea mai recentă actualizare cumulativă.

Cum se determină versiunea, ediția și nivelul de actualizare al SQL Server și al componentelor sale

Stare

Microsoft a confirmat că aceasta este o problemă în produsele Microsoft care sunt listate în secțiunea „Se aplică la”.

Referințe

Aflați despre terminologia pe care o utilizează Microsoft pentru a descrie actualizările de software.