Dela via


Återställa huvuddatabasen (Transact-SQL)

gäller för:SQL Server

I den här artikeln beskrivs hur du återställer master-databasen från en fullständig databassäkerhetskopia.

Varning

I händelse av återställning efter katastrof bör den instans som master-databasen återställs till vara så nära originalet som möjligt. Den här återställningsinstansen bör minst ha samma version, utgåva och korrigeringsnivå, och den bör ha samma urval av funktioner och samma externa konfiguration (värdnamn, klustermedlemskap och så vidare) som den ursprungliga instansen. Annars kan det leda till odefinierat SQL Server-instansbeteende, med inkonsekvent funktionsstöd och är inte garanterat livskraftigt.

Så här återställer du master-databasen

  1. Starta serverinstansen i enanvändarläge.

    Du kan starta SQL Server med hjälp av parametrarna -m eller -f start. Mer information om startparametrar finns i Startalternativ för databasmotortjänsten.

    Kör följande kommandon från en kommandotolk och se till att du ersätter MSSQLXX.instance med lämpligt mappnamn:

    cd C:\Program Files\Microsoft SQL Server\MSSQLXX.instance\MSSQL\Binn
    sqlservr -c -f -s <instance> -mSQLCMD
    
    • Parametern -mSQLCMD ser till att endast sqlcmd kan ansluta till SQL Server.
    • För ett standardinstansnamn använder du -s MSSQLSERVER
    • -c startar SQL Server som ett program för att kringgå Service Control Manager för att förkorta starttiden

    Om SQL Server-instansen inte kan starta på grund av en skadad master databas måste du återskapa systemdatabaserna först. Mer information finns i Återskapa systemdatabaser.

  2. Ansluta till SQL Server med SQLCMD från ett annat kommandotolkfönster

    SQLCMD -S <instance> -E -d master
    
  3. Om du vill återställa en fullständig databassäkerhetskopia av huvud-använder du följande RESTORE DATABASE-Transact-SQL-instruktion:

    RESTORE DATABASE master FROM  <backup_device>  WITH REPLACE
    

    Alternativet ERSÄTT instruerar SQL Server att återställa den angivna databasen även när en databas med samma namn redan finns. Den befintliga databasen, om det finns någon, raderas. I enanvändarläge rekommenderar vi att du anger instruktionen RESTORE DATABASE i sqlcmd-verktyget. Mer information finns i Använda sqlcmd-verktyget.

    Viktig

    När master- har återställts stänger instansen av SQL Server av och avslutar sqlcmd- process. Innan du startar om serverinstansen tar du bort startparametern för en användare. Mer information finns i Konfigurera startalternativ för server (SQL Server Configuration Manager).

  4. Starta om serverinstansen normalt som en tjänst, utan att använda några startparametrar.

  5. Fortsätt med andra återställningssteg, till exempel återställa andra databaser, koppla databaser och korrigera användarmatchningar.

Exempel

I följande exempel återställs master-databasen på standardserverinstansen. Exemplet förutsätter att serverinstansen redan körs i enanvändarläge. Exemplet startar sqlcmd och kör en RESTORE DATABASE-instruktion som återställer en fullständig databassäkerhetskopia av master från en diskenhet: Z:\SQLServerBackups\master.bak.

Not

För en namngiven instans måste kommandot sqlcmd ange alternativet -S<ComputerName>\<InstanceName>.

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

Se även

Fullständig databasåterställning (enkel återställningsmodell)
Fullständig databasåterställning (fullständig återställningsmodell)
Felsöka överblivna användare (SQL Server)
Database Avankoppla och Återansluta (SQL Server)
Återskapa systemdatabaser
Startalternativ för Databasmotortjänsten
SQL Server Configuration Manager
säkerhetskopiering och återställning av systemdatabaser (SQL Server)
ÅTERSTÄLLA (Transact-SQL)