Sdílet prostřednictvím


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

  1. 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í.

  2. Připojení k SQL Serveru pomocí SQLCMD z jiného okna příkazového řádku

    SQLCMD -S <instance> -E -d master
    
  3. 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).

  4. Restartujte instanci serveru normálně jako službu bez použití parametrů spuštění.

  5. 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)