Delen via


De hoofddatabase herstellen (Transact-SQL)

van toepassing op:SQL Server-

In dit artikel wordt uitgelegd hoe u de master database herstelt vanuit een volledige databaseback-up.

Waarschuwing

In het geval van herstel na noodgevallen moet het exemplaar waar de master database wordt hersteld, zo dicht mogelijk bij een exacte overeenkomst met het origineel liggen. Dit herstelexemplaren moeten minimaal dezelfde versie, editie en patch zijn, en moeten dezelfde functies en dezelfde externe configuratie (hostnaam, clusterlidmaatschap, enzovoort) hebben als het oorspronkelijke exemplaar. Als u dit niet doet, kan dit leiden tot niet-gedefinieerd sql Server-exemplaargedrag, met inconsistente functieondersteuning en is niet gegarandeerd levensvatbaar.

De master-database herstellen

  1. Start de serverinstantie in eenpersoonsmodus.

    U kunt SQL Server starten met behulp van de -m of -f opstartparameters. Zie Database Engine Service Startup Optionsvoor meer informatie over opstartparameters.

    Voer vanaf een opdrachtprompt de volgende opdrachten uit en zorg ervoor dat u MSSQLXX.instance vervangt door de juiste mapnaam:

    cd C:\Program Files\Microsoft SQL Server\MSSQLXX.instance\MSSQL\Binn
    sqlservr -c -f -s <instance> -mSQLCMD
    
    • De parameter -mSQLCMD zorgt ervoor dat alleen sqlcmd- verbinding kan maken met SQL Server.
    • Gebruik -s MSSQLSERVER voor een standaardexemplarennaam
    • -c BEGINT SQL Server als een toepassing om Service Control Manager te omzeilen om de opstarttijd te verkorten

    Als het SQL Server-exemplaar niet kan worden gestart vanwege een beschadigde master database, moet u eerst de systeemdatabases opnieuw bouwen. Zie Systeemdatabases opnieuw bouwenvoor meer informatie.

  2. Verbinding maken met SQL Server met behulp van SQLCMD vanuit een ander opdrachtpromptvenster

    SQLCMD -S <instance> -E -d master
    
  3. Als u een volledige databaseback-up van hoofd-wilt herstellen, gebruikt u de volgende instructie RESTORE DATABASETransact-SQL:

    RESTORE DATABASE master FROM  <backup_device>  WITH REPLACE
    

    Met de optie REPLACE wordt SQL Server geïnstrueerd om de opgegeven database te herstellen, zelfs als er al een database met dezelfde naam bestaat. De bestaande database, indien aanwezig, wordt verwijderd. In de modus voor één gebruiker wordt u aangeraden de instructie RESTORE DATABASE in te voeren in het hulpprogramma sqlcmd. Zie De sqlcmd Utility-gebruiken voor meer informatie.

    Belangrijk

    Nadat master is hersteld, wordt het exemplaar van SQL Server afgesloten en wordt het sqlcmd-proces beëindigd. Voordat u het serverexemplaar opnieuw start, verwijdert u de opstartparameter voor single-user. Zie Opstartopties voor servers configureren (SQL Server Configuration Manager)voor meer informatie.

  4. Start het serverexemplaar opnieuw op als een service, zonder opstartparameters te gebruiken.

  5. Ga verder met andere herstelstappen, zoals het herstellen van andere databases, het koppelen van databases en het corrigeren van niet-overeenkomende gebruikers.

Voorbeeld

In het volgende voorbeeld wordt de master-database hersteld op het standaardserverexemplaar. In het voorbeeld wordt ervan uitgegaan dat het serverexemplaar al wordt uitgevoerd in de modus voor één gebruiker. In het voorbeeld wordt sqlcmd gestart en wordt een RESTORE DATABASE instructie uitgevoerd waarmee een volledige databaseback-up van master vanaf een schijfapparaat wordt hersteld: Z:\SQLServerBackups\master.bak.

Notitie

Voor een benoemde instantie dient de opdracht sqlcmd de optie -S<ComputerName>\<InstanceName> op te geven.

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

Zie ook

databaseherstelbewerkingen voltooien (Simple Recovery Model)
databaseherstelbewerkingen (volledig herstelmodel) voltooien
Problemen met zwevende gebruikers (SQL Server) oplossen
Database loskoppelen en koppelen (SQL Server)
Systeemdatabases opnieuw opbouwen
Opstartopties voor Database-Engineservice
SQL Server Configuration Manager
back-up maken en herstellen van systeemdatabases (SQL Server)
RESTORE (Transact-SQL)