Príznaky
Zvážte nasledujúci scenár:
-
V SQL Server 2016 a 2017 máte funkciu SQL CLR.
-
Funkcia CLR vyvolá príkazy Transact-SQL prostredníctvom zosobnenia, napríklad volaním príkazu EXECUTE AS.
V tomto scenári zlyhá spustenie a zobrazí sa nasledujúce chybové hlásenie:
Msg 6522, level 16, State 1, Procedure PrcedureName, Line 0 [Batch Start LineNumber]
Pri vykonávaní používateľom definovanej rutiny alebo agregácie "ProcedureName" sa vyskytla chyba .NET Framework:
System.Data.SqlClient.SqlException: Objekt servera LoginName nemôže získať prístup k databáze DatabaseName v aktuálnom kontexte zabezpečenia.
Riešenie
Táto oprava je súčasťou kumulatívnej aktualizácie 1 pre SQL Server 2017.
Informácie o balíku Service Pack pre SQL Server 2016
Tento problém je opravený v nasledujúcom balíku Service Pack pre SQL Server:
Zostavy SQL Server 2017
Každá nová zostava pre SQL Server 2017 obsahuje všetky rýchle opravy a opravy zabezpečenia, ktoré boli v predchádzajúcej zostave. Odporúčame vám nainštalovať najnovšiu zostavu pre SQL Server 2017.
Balíky Service Pack sú kumulatívne. Každý nový balík Service Pack obsahuje všetky opravy, ktoré sa nachádzajú v predchádzajúcich balíkoch Service Pack, spolu s novými opravami. Odporúčame použiť najnovší balík Service Pack a najnovšiu kumulatívnu aktualizáciu pre tento balík Service Pack. Pred inštaláciou najnovšieho balíka Service Pack nie je potrebné nainštalovať predchádzajúci balík Service Pack. Ak chcete nájsť ďalšie informácie o najnovšom balíku Service Pack a najnovšej kumulatívnej aktualizácii, použite tabuľku 1 v nasledujúcom článku.
Určenie úrovne verzie, vydania a aktualizácie SQL Server a jej súčastí
Stav
Spoločnosť Microsoft potvrdzuje, že ide o problém v produktoch spoločnosti Microsoft, ktoré sú uvedené v tomto článku v časti Informácie v tomto článku sa týkajú nasledujúcich produktov.
Odkazy
Získajte informácie o terminológii , ktorú spoločnosť Microsoft používa na popis aktualizácií softvéru.