Symptomer
Overvej følgende scenarie:
-
Du har en SQL CLR-funktion i SQL Server 2016 og 2017.
-
Funktionen CLR aktiverer Transact-SQL-sætninger via repræsentationskald, f.eks. ved at kalde EXECUTE AS-sætningen.
I dette scenarie mislykkes udførelsen, og du får vist følgende fejlmeddelelse:
Msg 6522, niveau 16, tilstand 1, procedure PrcedureName, Linje 0 [Batch Start Line LineNumber]
Der opstod en .NET Framework fejl under udførelse af brugerdefineret rutine eller aggregering af "ProcedureName":
System.Data.SqlClient.SqlException: Serverprincipalen "LoginName" kan ikke få adgang til databasen "DatabaseName" under den aktuelle sikkerhedskontekst.
Løsning
Denne rettelse er inkluderet i Samlet opdatering 1 til SQL Server 2017.
Oplysninger om servicepakker til SQL Server 2016
Dette problem er rettet i følgende servicepakke til SQL Server:
Om SQL Server 2017-builds
Hvert nye build til SQL Server 2017 indeholder alle de hotfixes og sikkerhedsrettelser, der var i det tidligere build. Vi anbefaler, at du installerer det nyeste build til SQL Server 2017.
Servicepakker er akkumulerede. Hver ny service pack indeholder alle de rettelser, der var inkluderet i tidligere service packs, samt eventuelle nye rettelser. Vores anbefaling er at anvende den nyeste servicepakke og den seneste akkumulerede opdatering til den pågældende servicepakke. Det er ikke nødvendigt at installere en tidligere servicepakke, før du installerer den seneste udgave. Brug Tabel 1 i følgende artikel for at finde flere oplysninger om den nyeste servicepakke og seneste akkumulerede opdatering.
Sådan bestemmer du version, udgave og opdateringsniveau for SQL Server og dens komponenter
Status
Microsoft har bekræftet, at problemet findes i de Microsoft-produkter, der er angivet i afsnittet "Gælder for".
Referencer
Få mere at vide om den terminologi , som Microsoft bruger til at beskrive softwareopdateringer.