Simptome
Razmotrite sledeći scenario:
-
Imate SQL CLR funkciju u verzijama SQL Server 2016 i 2017.
-
Funkcija CLR poziva Transact-SQL izjave putem pozivanja imitiranje, na primer pozivanjem izraza EXECUTE AS.
U ovom scenariju izvršavanje neće uspeti i dobićete sledeću poruku o grešci:
Msg 6522, nivo 16, stanje 1, Ime procedure PrcedureName, Red 0 [Broj linije grupnog pokretanja]
Došlo .NET Framework greške tokom izvršavanja korisnički definisane rutine ili agregatne funkcije "Ime ProcedureName":
System.Data.SqlClient.SqlException: Principal servera "LoginName" ne može da pristupi bazi podataka "DatabaseName" u okviru trenutnog bezbednosnog konteksta.
Rezoluciju
Ova ispravka je uključena u kumulativnu ispravku 1 za SQL Server 2017.
Informacije o servisnim paketima SQL Server 2016
Ovaj problem je rešen u sledećem servisnim paketu za SQL Server:
Osnovni podaci SQL Server verzije 2017
Svako novo izdanje za SQL Server 2017 sadrži sve hitne ispravke i bezbednosne ispravke koje su bile u prethodnom izdanju. Preporučujemo da instalirate najnoviju verziju za SQL Server 2017.
Servisni paketi su kumulativni. Svaki novi servisni paket sadrži sve ispravke koje se nalaze u prethodnim servisnim paketima, zajedno sa novim ispravkama. Preporučujemo da primenite najnoviji servisni paket i najnoviju kumulativnu ispravku za taj servisni paket. Ne morate da instalirate prethodni servisni paket pre nego što instalirate najnoviji servisni paket. Koristite tabelu 1 u sledećem članku da biste dobili više informacija o najnovijem servisnom paketu i najnovijim kumulativnim ispravkama.
Kako da odredite verziju, izdanje i nivo ažuriranja SQL Server i njenih komponenti
Status
Microsoft je potvrdio da je ovo problem u Microsoft proizvodima koji su navedeni u odeljku "Odnosi se na".
Reference
Saznajte više o terminologiji koju Microsoft koristi za opisivanja softverskih ispravki.