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.

Återställa 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 Database Engine Service.

    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. Anslut 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 masteranvänder du följande RESTORE-instruktionerTransact-SQL-instruktion:

    RESTORE DATABASE master FROM <backup_device> WITH REPLACE;
    

    Alternativet REPLACE instruerar SQL Server att återställa den angivna databasen även när det redan finns en databas med samma namn. 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.

    Viktig

    När master har återställts stängs instansen av SQL Server av och processen avslutas sqlcmd . Innan du startar om serverinstansen tar du bort startparametern för en användare. Mer information finns i SQL Server Configuration Manager: Konfigurera startalternativ för servern.

  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.

För en namngiven instans måste sqlcmd-kommandot ange alternativet -S<computer-name>\<instance-name> .

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