Problém
Při zálohování databáze serveru SQL Server, kde je výsledný záložní soubor přesměrován na namapovanou jednotku, se zobrazí následující chybová zpráva:
"Systém nemůže najít zadanou cestu." ("The system cannot find the path specified.")
Produktová řada
Struxureware Power Monitoring
Power Monitoring Expert
ION Enterprise
ION EEM
Rozsah
SQL Server 2008 R2, SQL Server 2012, SQL Server 2014, SQL Server 2016
Příčina
Síťová sdílená položka, která je mapována pomocí místní jednotky, nebude viditelná pro instanci serveru SQL Server, protože je spuštěna jako služba.
Služba SQL Server je spuštěna v prostředí místní konzole s nastaveným zabezpečením spouštěcího účtu serveru SQL Server.
Mapované jednotky jsou specifické pro relaci a nejsou viditelné pro službu spuštěnou na místní konzoli.
Řešení
Zálohování databáze serveru SQL Server na namapovanou jednotku pomocí místního písmene jednotky:
1. V okně dotazů spusťte následující příkaz "EXEC xp_cmdshell 'net use <drivename> <share name>"
Kde: <drivename>: Písmeno použité k mapování jednotky
<sharename>: Cesta UNC ke sdílené položce
Není-li povolena funkce xp_cmdshell, dojde k chybě systému. Chcete-li povolit xp_cmdshell, spusťte následující dotaz:
— Umožňuje změnu rozšířených možností.
EXEC sp_configure 'show advanced options', 1;
GO
— Chcete-li aktualizovat aktuálně nakonfigurovanou hodnotu pro rozšířené možnosti.
RECONFIGURE;
GO
— Povolení této funkce.
EXEC sp_configure 'xp_cmdshell', 1;
GO
— Aktualizace aktuálně nakonfigurované hodnoty pro tuto funkci.
RECONFIGURE;
GO
Pokud mapování potřebuje přihlašovací jméno uživatele, změňte síť. Otevřete okno příkazového řádku a použijte následující příkaz:
net use <drivename> <share name> /user:username password
Příklad: net use z: \\servername\folder /user:username password
2. Měli byste být schopni zálohovat pomocí namapovaného písmene jednotky, protože okno jednotky aplikace Management Studio Object Explorer by mělo nyní obsahovat seznam výše namapovaných jednotek.
Poznámka:
Nevýhodou tohoto řešení je, že po restartování služby SQL Server nebude namapovaná jednotka viditelná, protože se stane nenamapovanou.
Chcete-li zachovat informace o namapované jednotce, musíte vytvořit postup spuštění skriptu v kroku 1.
Jednou z jednoduchých metod by bylo vytvoření zálohovacího zařízení pomocí cesty UNC vzdálené sdílené položky, na kterou chcete zálohovat databázi.
Je důležité vzít v úvahu, že spouštěcí účet serveru SQL Server musí mít úplná oprávnění ke vzdálené sdílené pložce.