Symptomer
Tenk deg følgende:
-
Du har en SQL CLR-funksjon i SQL Server-2016 og 2017.
-
CLR-funksjonen aktiverer Transact-SQL-setninger til representasjon kall som ved å kalle EXECUTE-AS setningen.
I dette scenariet utførelsen mislykkes, og du får følgende feilmelding:
Msg 6522, nivå 16 tilstand 1, prosedyre PrcedureName, linje 0 [satsvis Start linjen LineNumber]
Et .NET Framework-feil oppstod under utføring av brukerdefinerte rutiner eller samle "ProcedureName":
System.Data.SqlClient.SqlException: Serveren principal "LoginName" kan ikke få tilgang til databasen "DatabaseName" under gjeldende sikkerhetsomgivelser.
Løsning
Denne hurtigreparasjonen er inkludert i Kumulativ oppdatering 1 for SQL Server 2017.
Informasjon om oppdateringspakke for SQL Server-2016
Dette problemet er løst i service pack for SQL Server:
Om SQLServer 2017 bygger
Hvert nytt Bygg for SQL Server-2017 inneholder alle hurtigreparasjoner og sikkerhetsoppdateringer reparasjonene som var i den tidligere versjonen. Vi anbefaler at du installerer den siste versjonen for SQL Server-2017.
Oppdateringspakker er kumulative. Hver nye oppdateringspakke inneholder alle reparasjonene som finnes i tidligere oppdateringspakker, sammen med eventuelle nye reparasjoner. Vår anbefaling er å bruke den nyeste oppdateringspakken, og den nyeste kumulative oppdateringen for denne oppdateringspakken. Du trenger ikke å installere en tidligere oppdateringspakke før du installerer den nyeste oppdateringspakken. Bruk tabell 1 i følgende artikkel for å finne mer informasjon om den nyeste oppdateringspakken og nyeste kumulative oppdateringen.
Status
Microsoft har bekreftet at dette er et problem i Microsoft-produktene som er oppført i delen "Gjelder for".
Referanser
Lær mer om terminologien som Microsoft bruker til å beskrive oppdateringer av programvare.