Příznaky
Zvažte následující scénář:
-
Máte funkci SQL CLR v systému SQL Server 2016 a 2017.
-
Funkce CLR vyvolá příkazy jazyka Transact-SQL prostřednictvím zosobněných hovorů, například voláním příkazu EXECUTE AS.
V tomto scénáři se provedení nezdaří a zobrazí se následující chybová zpráva:
Msg 6522, úroveň 16, stav 1, postup PrcedureName, řádek 0 [počáteční řádek dávky lineNumber]
Při provádění uživatelsky definované rutiny nebo agregace "Procedure-Defined" došlo k chybě rozhraní .NET Framework:
System. data. SqlClient. SqlException: objekt zabezpečení "LoginName" nemá přístup k databázi "databaseName" v aktuálním kontextu zabezpečení.
Řešení
Tato oprava je součástí kumulativní aktualizace 1 pro SQL Server 2017.
Informace o aktualizaci Service Pack pro SQL Server 2016
Tento problém je opravený v následující aktualizaci Service Pack pro SQL Server:
Buildy SQL serveru 2017
Každý nový Build pro SQL Server 2017 obsahuje všechny opravy hotfix a opravy zabezpečení, které byly v předchozím buildu. Doporučujeme nainstalovat nejnovější Build pro SQL Server 2017.
Aktualizace Service Pack jsou kumulativní. Každá nová aktualizace Service Pack obsahuje všechny opravy zahrnuté v předchozích aktualizacích Service Pack a všechny nové opravy. Naším doporučením je použití nejnovější aktualizace Service Pack a nejnovější kumulativní aktualizace pro danou aktualizaci Service Pack. Před instalací nejnovější aktualizace Service Pack není nutné nainstalovat předchozí aktualizaci Service Pack. K vyhledání dalších informací o nejnovější aktualizaci Service Pack a nejnovější kumulativní aktualizaci použijte tabulku 1 v následujícím článku.
Jak zjistit verzi, edici a úroveň aktualizace SQL serveru a jeho součástí
Stav
Společnost Microsoft potvrzuje, že se jedná o problém v produktech této společnosti, které jsou uvedeny v části Informace v tomto článku jsou určeny pro produkt.
Odkazy
Informace o terminologii , kterou Microsoft používá k popisu aktualizací softwaru.