Obnovení hlavní databáze (Transact-SQL)
platí pro:SQL Server
Tento článek vysvětluje, jak obnovit databázi master
z úplné zálohy databáze.
Varování
V případě zotavení po havárii by instance, do které se obnovuje databáze master
, měla být co nejblíže přesné shodě s původní databází. Minimálně by tato instance obnovení měla mít stejnou verzi, edici a úroveň oprav a měla by mít stejný výběr funkcí a stejné externí konfigurace (název hostitele, členství v clusteru atd.) jako původní instance. Jinak by mohlo dojít k nedefinovanýmu chování instance SQL Serveru s nekonzistentní podporou funkcí a není zaručeno, že bude možné.
Obnovení databáze master
Spusťte instanci serveru v režimu jednoho uživatele.
SQL Server můžete spustit pomocí
-m
nebo-f
spouštěcích parametrů. Další informace o spouštěcích parametrech naleznete v tématu Možnosti spuštění služby databázového stroje.Na příkazovém řádku spusťte následující příkazy a nezapomeňte nahradit
MSSQLXX.instance
odpovídajícím názvem složky:cd C:\Program Files\Microsoft SQL Server\MSSQLXX.instance\MSSQL\Binn sqlservr -c -f -s <instance> -mSQLCMD
- Parametr
-mSQLCMD
zajišťuje, že se k SQL Serveru může připojit pouze sqlcmd. - Jako výchozí název instance použijte
-s MSSQLSERVER
-
-c
spustí SQL Server jako aplikaci, aby se vynechal Správce řízení služeb, aby se zkrátila doba spuštění.
Pokud se instance SQL Serveru nemůže spustit kvůli poškozené databázi
master
, musíte nejprve znovu sestavit systémové databáze. Další informace naleznete v tématu Opětovné sestavení systémových databází.- Parametr
Připojení k SQL Serveru pomocí SQLCMD z jiného okna příkazového řádku
SQLCMD -S <instance> -E -d master
Chcete-li obnovit úplnou zálohu databáze master, použijte následující příkaz RESTORE DATABASETransact-SQL:
RESTORE DATABASE master FROM <backup_device> WITH REPLACE
Možnost NAHRADIT dává SQL Serveru pokyn, aby obnovil zadanou databázi i v případě, že již existuje databáze se stejným názvem. Existující databáze, pokud existuje, se odstraní. V režimu jednoho uživatele doporučujeme zadat příkaz RESTORE DATABASE v nástroji sqlcmd. Další informace naleznete v tématu Použití nástroje sqlcmd.
Důležitý
Po obnovení hlavního se instance SQL Serveru vypne a ukončí proces sqlcmd. Před restartováním instance serveru odeberte parametr spuštění s jedním uživatelem. Další informace naleznete v tématu Konfigurace možností spuštění serveru (SQL Server Configuration Manager).
Restartujte instanci serveru normálně jako službu bez použití parametrů spuštění.
Pokračujte dalšími kroky obnovení, jako je obnovení jiných databází, připojení databází a oprava neshod uživatelů.
Příklad
Následující příklad obnoví master
databázi ve výchozí instanci serveru. Příklad předpokládá, že instance serveru je již spuštěna v režimu jednoho uživatele. Příklad spustí sqlcmd
a spustí příkaz RESTORE DATABASE
, který obnoví úplnou zálohu databáze master
z diskového zařízení: Z:\SQLServerBackups\master.bak
.
Poznámka
V případě pojmenované instance musí příkaz sqlcmd zadat možnost -S<ComputerName>\<InstanceName>.
C:\> sqlcmd
1> RESTORE DATABASE master FROM DISK = 'Z:\SQLServerBackups\master.bak' WITH REPLACE;
2> GO
Viz také
dokončení obnovení databáze (jednoduchý model obnovení)
dokončení obnovení databáze (úplný model obnovení)
řešení potíží s osamocenými uživateli (SQL Server)
Proces odpojení a připojení databáze (SQL Server)
opětovné sestavení systémových databází
Možnosti spuštění služby databázového stroje
SQL Server Configuration Manager
zálohování a obnovení systémových databází (SQL Server)
OBNOVIT (Transact-SQL)