KB4517771 – OPRAVA: Osamocené relace CLR způsobují blokování v SQL Server

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

Příznaky

Předpokládejme, že používáte relaci, která volá uloženou proceduru modulu CLR (Common Language Runtime) ("volající relace") pro přístup k datům v systému Microsoft SQL Server, a tato procedura následně vytvoří samostatné připojení ("druhá relace") ke stejnému serveru místo kontextového připojení. Pokud je pak volající relace ukončena z důvodu časového limitu nebo zrušení, druhá relace může osamostatnit a bude v systému existovat, dokud nebude ručně ukončena pomocí příkazu KILL . Pokud tato osamocená relace obsahuje nějaké zámky, jiné relace můžou být blokované při čekání na uvolnění zámků.

Stav

Společnost Microsoft potvrdila, že se jedná o problém produktů Microsoft, které jsou uvedeny v sekci Platí pro.

Řešení

Tento problém je opravený v následujících kumulativních aktualizacích pro SQL Server:

Informace o kumulativních aktualizacích pro SQL Server:

Každá nová kumulativní aktualizace pro SQL Server obsahuje všechny opravy hotfix a všechny opravy zabezpečení, které byly součástí předchozí kumulativní aktualizace. Podívejte se na nejnovější kumulativní aktualizace pro SQL Server

Poznámka Ve výchozím nastavení je oprava vypnutá z důvodu nutnosti zachování staršího chování podprocesů CLR v systému SQL Server. Je třeba jej zapnout pouze v případě, že váš systém vykazuje výše uvedené příznaky. Chcete-li opravu povolit, musíte na server přidat příznak trasování 6559 pomocí možností spuštění služby databázového stroje. Mějte na paměti, že tento příznak trasování lze použít pouze společně s možnostmi spuštění systému SQL Server. Nelze jej nastavit pomocí příkazu DBCC TRACEON .

Reference

Podívejte se na informace o terminologii, kterou společnost Microsoft používá k popisování aktualizací softwaru.