Příznaky
Vezměte v úvahu následující scénář:
- Máte funkci SQL CLR v SQL Server 2016 a 2017.
- Funkce CLR vyvolává příkazy Transact-SQL prostřednictvím volání zosobnění, například voláním příkazu EXECUTE AS.
V tomto scénáři se spuštění nezdaří a zobrazí se následující chybová zpráva:
Poznámka
- Zpráva 6522, úroveň 16, stav 1, název procedury, řádek 0 [číslo řádku začátku dávky]
- Došlo k chybě rozhraní .NET Framework během provádění uživatelem definované rutiny nebo agregace "ProcedureName":
- System.Data.SqlClient.SqlException: Objekt zabezpečení serveru LoginName nemá v aktuálním kontextu zabezpečení přístup k databázi DatabaseName.
Řešení
Tato oprava je součástí kumulativní aktualizace 1 pro SQL Server 2017.
Informace o aktualizacích Service Pack pro SQL Server 2016
Tento problém je opravený v následující aktualizaci Service Pack pro SQL Server:
Service Pack 2 pro SQL Server 2016
Informace o buildech SQL Server 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.
Informace o aktualizacích Service Pack pro SQL Server:
Aktualizace Service Pack jsou kumulativní. Každá nová aktualizace Service Pack obsahuje všechny opravy z předchozích aktualizací Service Pack společně s novými opravami. Doporučujeme použít nejnovější aktualizaci Service Pack a nejnovější kumulativní aktualizaci pro tuto aktualizaci Service Pack. Před instalací nejnovější aktualizace Service Pack není nutné instalovat předchozí aktualizaci Service Pack. Další informace o nejnovější aktualizaci Service Pack a nejnovější kumulativní aktualizaci najdete v tabulce 1 v následujícím článku.
Jak zjistit verzi, edici a úroveň aktualizace systému SQL Server a jeho součástí
Stav
Společnost Microsoft potvrdila, že se jedná o problém produktů Microsoft, které jsou uvedeny v sekci Platí pro.
Reference
Podívejte se na informace o terminologii, kterou společnost Microsoft používá k popisování aktualizací softwaru.