Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
Podrobnosti
| Vlastnost | Hodnota |
|---|---|
| Název produktu | SQL Server |
| ID události | 5120 |
| Zdroj událostí | MSSQLSERVER |
| Součást | SQLEngine |
| Symbolický název | DSK_FCB_FAILURE |
| Text zprávy | Chyba tabulky: Nelze otevřít fyzický soubor "%.*ls". Chyba operačního systému %d: "%ls". |
Explanation
SQL Server nemohl otevřít soubor databáze. Chyba operačního systému uvedená ve zprávě odkazuje na konkrétnější podkladové důvody selhání. Tato chyba se může běžně zobrazovat společně s dalšími chybami, jako jsou 17204 nebo 17207.
Akce uživatele
Diagnostikujte a opravte chybu operačního systému a pak operaci opakujte. Existuje několik stavů, které můžou microsoftu pomoct zúžit oblast v produktu, ve kterém se tato oblast vyskytuje.
Přístup byl odepřen.
Pokud dochází k chybě operačního Access is Denied systému = 5, zvažte tyto metody:
Zkontrolujte oprávnění, která jsou nastavená v souboru, a to tak, že se podíváte na vlastnosti souboru v Průzkumníku Windows. SQL Server používá skupiny Systému Windows ke zřízení řízení přístupu pro různé prostředky souborů. Ujistěte se, že příslušná skupina [s názvy, jako je SQLServerMSSQLUser$ComputerName$MSSQLSERVER nebo SQLServerMSSQLUser$ComputerName$InstanceName] má požadovaná oprávnění k databázovému souboru uvedenému v chybové zprávě. Další podrobnosti najdete v tématu Konfigurace oprávnění systému souborů pro přístup k databázovému stroji . Ujistěte se, že skupina Windows skutečně obsahuje spouštěcí účet služby SQL Server nebo identifikátor SID služby.
Zkontrolujte uživatelský účet, pod kterým je aktuálně spuštěná služba SQL Serveru. Tyto informace můžete získat pomocí Správce úloh systému Windows. Vyhledejte hodnotu User Name (Uživatelské jméno) pro spustitelný souborsqlservr.exe. Pokud jste nedávno změnili účet služby SYSTÉMU SQL Server, mějte na paměti, že podporovaný způsob, jak tuto operaci provést, je použít nástroj SQL Server Configuration Manager .
V závislosti na typu operace (otevírání databází při spuštění serveru, připojení databáze, obnovení databáze atd.) se může lišit účet, který se používá pro zosobnění a přístup k souboru databáze. Projděte si téma Zabezpečení dat a souborů protokolů a zjistěte, která operace nastavuje oprávnění a jaké účty. Pomocí nástroje, jako je Windows SysInternals Process Monitor , zjistěte, jestli se přístup k souborům děje v kontextu zabezpečení spouštěcího účtu služby instance SYSTÉMU SQL Server [nebo SID služby] nebo zosobněného účtu.
Pokud SQL Server zosobní přihlašovací údaje uživatele přihlašovacích údajů, které spouští operaci ALTER DATABASE nebo CREATE DATABASE, uvidíte v nástroji Sledování procesů (příklad) následující informace.
Date & Time: 3/27/2010 8:26:08 PM Event Class: File System Operation: CreateFile Result: ACCESS DENIED Path: C:\Program Files\Microsoft SQL Server\MSSQL13.SQL2016\MSSQL\DATA\attach_test.mdf TID: 4288 Duration: 0.0000366 Desired Access:Generic Read/Write Disposition: Open Options: Synchronous IO Non-Alert, Non-Directory File, Open No Recall Attributes: N ShareMode: Read AllocationSize: n/a Impersonating: DomainName\UserName
Připojení souborů, které se nacházejí v úložišti připojeném k síti
Pokud nemůžete znovu připojit databázi, která se nachází v úložišti připojeném k síti, může být zpráva podobná této chybě zaznamenána v protokolu aplikace.
Msg 5120, Level 16, State 101, Line 1 Unable to open the physical file "\\servername\sharename\filename.mdf". Operating system error 5: (Access is denied.).
K tomuto problému dochází, protože SQL Server resetuje oprávnění k souborům při odpojení databáze. Při pokusu o opětovné připojení databáze dojde k chybě kvůli omezeným oprávněním ke sdílené složce.
Pokud chcete problém vyřešit, postupujte takto:
K spuštění SQL Serveru použijte možnost -T spuštění. Tuto možnost spuštění použijte k zapnutí příznaku trasování 1802 v nástroji SQL Server Configuration Manager (informace o verzi 1802 naleznete v tématu Nastavení příznaků trasování pomocí nástroje DBCC TRACEON ). Další informace o tom, jak změnit spouštěcí parametry, naleznete v tématu Možnosti spouštění služby databázového stroje.
K odpojení databáze použijte následující příkaz.
exec sp_detach_db DatabaseName goK opětovnému připojení databáze použijte následující příkaz.
exec sp_attach_db DatabaseName, '\\Network-attached storage_Path\DatabaseMDFFile.mdf', '\\Network-attached storage_Path\DatabaseLDFFile.ldf' go