KB4492899 - OPRAVA: Adresář na úrovni databáze FileTable je po spuštění databáze v SQL Server 2016 a 2017 nepřístupný

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 Windows SQL Server 2017 Enterprise Windows SQL Server 2017 Enterprise Core Windows SQL Server 2017 Standard Windows

Příznaky

Pokud se uživatel pokusí během spouštění Microsoft SQL Server 2016 a 2017 připojit k databázi před jejím spuštěním, relace uživatele může způsobit automatické spuštění databáze. Pokud k tomu dojde, pokud databáze obsahuje FileTable a má povolenou non_transacted_access FILESTREAM, pak je adresář FileTable na úrovni databáze po spuštění databáze nepřístupný. Pokud se pokusíte získat přístup ke složce pomocí Průzkumník souborů, může to znamenat, že složka není k dispozici. Když spustíte příkaz dir z příkazového řádku, vrátí zprávu, že systém nemůže zadaný soubor najít.

Dále se můžou v protokolu chyb zobrazit následující chyby, které značí, že relace uživatele spustila automatické spuštění databáze:

Datum a čas Chyba přihlášení: 18456, závažnost: 14, stav: 38.

Datum a čas Přihlášení pro uživatele UserName se nezdařilo. Důvod: Nepovedlo se otevřít explicitně zadanou databázi DatabaseName. [KLIENT: IPNumber]

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:

Alternativní řešení

Alternativním řešením tohoto problému je zakázat a znovu povolit non_transacted_access FILESTREAM databáze.

ALTER DATABASE [DatabaseName] NASTAVIT SINGLE_USER S OKAMŽITÝM VRÁCENÍM ZPĚT

ALTER DATABASE [Název_databáze] SET FILESTREAM ( NON_TRANSACTED_ACCESS = OFF )

ALTER DATABASE [Název_databáze] SET FILESTREAM ( NON_TRANSACTED_ACCESS = FULL )

ALTER DATABASE [DatabaseName] NASTAVIT MULTI_USER S OKAMŽITÝM VRÁCENÍM ZPĚT

Reference

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