Symptom
Tänk dig följande situation:
-
Du har en SQL-CLR-funktion i SQL Server 2016 och 2017.
-
Med funktionen CLR anropas Transact-SQL-uttryck via personifieringstoken, till exempel genom att anropa instruktionen EXECUTe AS.
I det här scenariot fungerar inte körningen och du får följande fel meddelande:
Meddelande 6522, nivå 16, tillstånd 1, procedur PrcedureName, rad 0 [grupp start rad LineNumber]
Ett .NET Framework-fel uppstod vid körning av en användardefinierad rutin eller agg regering "ProcedureName":
System. data. SqlClient. SqlException: serverns huvud namn (LoginName) kan inte använda databasen "databaseName" under den aktuella säkerhets kontexten.
Lösning
Den här korrigeringen ingår i kumulativ uppdatering 1 för SQL Server 2017.
Information om Service Pack för SQL Server 2016
Det här problemet är åtgärdat i följande Service Pack för SQL Server:
Om SQL Server 2017-versioner
Varje ny version för SQL Server 2017 innehåller alla snabb korrigeringar och säkerhets korrigeringar som fanns i den föregående versionen. Vi rekommenderar att du installerar den senaste versionen av SQL Server 2017.
Service Pack är kumulativa. Varje nytt Service Pack innehåller alla korrigeringar som finns i tidigare service pack, tillsammans med eventuella nya korrigeringar. Vår rekommendation är att tillämpa senaste Service Pack och den senaste kumulativa uppdateringen för detta Service Pack. Du behöver inte installera ett tidigare service Pack innan du installerar den senaste Service Pack-versionen. Använd tabell 1 i följande artikel för att hitta mer information om den senaste service versionen och den senaste kumulativa uppdateringen.
Avgöra version, utgåva och uppdaterings nivå för SQL Server och dess komponenter
Status
Microsoft har bekräftat att det här är ett problem i Microsoft-produkterna som nämns i "gäller".
Referenser
Lär dig mer om terminologin som används av Microsoft för att beskriva program varu uppdateringar.