Restore the master Database (Transact-SQL)

Applies to: SQL Server (all supported versions)

This topic explains how to restore the master database from a full database backup.


In the event of disaster recovery, the instance where the master database is being restored to should be as close to an exact match to the original as possible. At a minimum, this recovery instance should be the same version, edition, and patch level, and it should have the same selection of features and the same external configuration (hostname, cluster membership, and so on) as the original instance. Doing otherwise might result in undefined SQL Server instance behavior, with inconsistent feature support, and is not guaranteed to be viable.

To restore the master database

  1. Start the server instance in single-user mode.

    For information about how to specify the single-user startup parameter (-m), see Configure Server Startup Options (SQL Server Configuration Manager).

  2. To restore a full database backup of master, use the following RESTORE DATABASETransact-SQL statement:

    RESTORE DATABASE master FROM <backup_device> WITH REPLACE

    The REPLACE option instructs SQL Server to restore the specified database even when a database of the same name already exists. The existing database, if any, is deleted. In single-user mode, we recommend that you enter the RESTORE DATABASE statement in the sqlcmd utility. For more information, see Use the sqlcmd Utility.


    After master is restored, the instance of SQL Server shuts down and terminates the sqlcmd process. Before you restart the server instance, remove the single-user startup parameter. For more information, see Configure Server Startup Options (SQL Server Configuration Manager).

  3. Restart the server instance and continue other recovery steps such as restoring other databases, attaching databases, and correcting user mismatches.


The following example restores the master database on the default server instance. The example assumes that the server instance is already running in single-user mode. The example starts sqlcmd and executes a RESTORE DATABASE statement that restores a full database backup of master from a disk device: Z:\SQLServerBackups\master.bak.


For a named instance, the sqlcmd command must specify the -S<ComputerName>\<InstanceName> option.

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

See Also

Complete Database Restores (Simple Recovery Model)
Complete Database Restores (Full Recovery Model)
Troubleshoot Orphaned Users (SQL Server)
Database Detach and Attach (SQL Server)
Rebuild System Databases
Database Engine Service Startup Options
SQL Server Configuration Manager
Back Up and Restore of System Databases (SQL Server)
RESTORE (Transact-SQL)
Start SQL Server in Single-User Mode