KB4046918 – OPRAVA: Spuštění se nezdaří, když funkce SQL CLR vyvolá příkazy Transact-SQL prostřednictvím volání zosobnění v SQL Server 2016 a 2017

Platí pro
SQL Server 2017 on Windows (all editions) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use) SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use)

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.