Udostępnij za pośrednictwem


Przywracanie bazy danych master (Transact-SQL)

Dotyczy:programu SQL Server

W tym artykule wyjaśniono, jak przywrócić bazę danych master z pełnej kopii zapasowej bazy danych.

Ostrzeżenie

W przypadku odzyskiwania po awarii instancja, do której przywracana jest baza danych master, powinna być jak najbliższym odwzorowaniem oryginału. Co najmniej to wystąpienie odzyskiwania powinno mieć taką samą wersję, edycję i poziom poprawek oraz taki sam wybór funkcji i taką samą konfigurację zewnętrzną (nazwa hosta, członkostwo w klastrze itd.) co oryginalne wystąpienie. W przeciwnym razie może to spowodować niezdefiniowane zachowanie wystąpienia programu SQL Server z niespójną obsługą funkcji, a korzystanie z takiej konfiguracji nie jest gwarantowane jako wykonalne.

Aby przywrócić bazę danych master

  1. Uruchom wystąpienie serwera w trybie pojedynczego użytkownika.

    Program SQL Server można uruchomić przy użyciu parametrów uruchamiania -m lub -f. Aby uzyskać więcej informacji na temat parametrów uruchamiania, zapoznaj się z Opcjami uruchamiania usługi silnika bazy danych.

    W wierszu polecenia uruchom następujące polecenia i upewnij się, że zastąpisz MSSQLXX.instance odpowiednią nazwą folderu:

    cd C:\Program Files\Microsoft SQL Server\MSSQLXX.instance\MSSQL\Binn
    sqlservr -c -f -s <instance> -mSQLCMD
    
    • Parametr -mSQLCMD gwarantuje, że tylko sqlcmd może łączyć się z programem SQL Server.
    • W przypadku nazwy wystąpienia domyślnego użyj -s MSSQLSERVER
    • -c uruchamia program SQL Server jako aplikację w celu obejścia programu Service Control Manager w celu skrócenia czasu uruchamiania

    Jeśli instancja SQL Server nie może się uruchomić z powodu uszkodzonej bazy danych master, najpierw należy odbudować systemowe bazy danych. Aby uzyskać więcej informacji, zobacz Odbudowywanie systemowych baz danych.

  2. Nawiązywanie połączenia z programem SQL Server przy użyciu narzędzia SQLCMD z innego okna wiersza polecenia

    SQLCMD -S <instance> -E -d master
    
  3. Aby przywrócić pełną kopię zapasową bazy danych master, użyj następującej instrukcji RESTORE DATABASETransact-SQL:

    RESTORE DATABASE master FROM  <backup_device>  WITH REPLACE
    

    Opcja REPLACE instruuje program SQL Server, aby przywrócić określoną bazę danych nawet wtedy, gdy baza danych o tej samej nazwie już istnieje. Istniejąca baza danych, jeśli istnieje, zostanie usunięta. W trybie pojedynczego użytkownika zalecamy wprowadzenie instrukcji RESTORE DATABASE w narzędziu sqlcmd. Aby uzyskać więcej informacji, zobacz Użyj narzędzia sqlcmd.

    Ważny

    Po przywróceniu bazy danych master, wystąpienie programu SQL Server zostaje zamknięte, co kończy proces sqlcmd. Przed ponownym uruchomieniem wystąpienia serwera usuń parametr uruchamiania pojedynczego użytkownika. Aby uzyskać więcej informacji, zobacz Configure Server Startup Options (SQL Server Configuration Manager).

  4. Uruchom ponownie wystąpienie serwera normalnie jako usługę bez używania żadnych parametrów uruchamiania.

  5. Kontynuuj inne kroki odzyskiwania, takie jak przywracanie innych baz danych, dołączanie baz danych i poprawianie niezgodności użytkowników.

Przykład

Poniższy przykład przywraca bazę danych master w domyślnym wystąpieniu serwera. W tym przykładzie przyjęto założenie, że wystąpienie serwera jest już uruchomione w trybie pojedynczego użytkownika. Przykład rozpoczyna sqlcmd i wykonuje instrukcję RESTORE DATABASE, która przywraca pełną kopię zapasową bazy danych master z urządzenia dyskowego: Z:\SQLServerBackups\master.bak.

Notatka

W przypadku nazwanego wystąpienia polecenie sqlcmd musi określić opcję -S<ComputerName>\<InstanceName>.

C:\> sqlcmd  
1> RESTORE DATABASE master FROM DISK = 'Z:\SQLServerBackups\master.bak' WITH REPLACE;  
2> GO  

Zobacz też

pełne przywracanie bazy danych (prosty model odzyskiwania)
pełne przywracanie bazy danych (model pełnego odzyskiwania)
Rozwiązywanie problemów z użytkownikami osieroconymi (SQL Server)
Odłączenie i Dołączenie Bazy Danych (SQL Server)
ponowne kompilowanie systemowych baz danych
Opcje uruchomienia usługi silnika bazy danych
SQL Server Configuration Manager
tworzenie kopii zapasowych i przywracanie systemowych baz danych (SQL Server)
RESTORE (Transact-SQL)