Restaurar la base de datos maestra (Transact-SQL)

Se aplica a:SQL Server

En este tema se explica cómo restaurar la base de datos de master desde una copia de seguridad de base de datos completa.

Advertencia

En caso de recuperación ante desastres, la instancia en la que se restaura la base de datos de master debe estar lo más cerca posible de una coincidencia exacta con la original. Como mínimo, esta instancia de recuperación debe tener la misma versión, edición y nivel de revisión, y la misma selección de características y la misma configuración externa (nombre de host, pertenencia al clúster, entre otros) que la instancia original. De lo contrario, se podría producir un comportamiento indefinido de la instancia de SQL Server, con compatibilidad con características incoherentes y no se garantiza que sea viable.

Para restaurar la base de datos de master

  1. Inicie la instancia de servidor en modo de usuario único.

    Puede iniciar SQL Server con los parámetros de inicio -m o -f. Para obtener más información sobre cómo cambiar los parámetros de inicio, vea Opciones de inicio del servicio de motor de base de datos.

    En un símbolo del sistema, ejecute los siguientes comandos y asegúrese de reemplazar MSSQLXX.instance por el nombre de carpeta adecuado:

    cd C:\Program Files\Microsoft SQL Server\MSSQLXX.instance\MSSQL\Binn
    sqlservr -c -f -s <instance> -mSQLCMD
    
    • El parámetro -mSQLCMD garantiza que solo sqlcmd pueda conectarse a SQL Server.
    • Para un nombre de instancia predeterminada, use -s MSSQLSERVER
    • -c inicia SQL Server como una aplicación para omitir el Administrador de control de servicios para acortar el tiempo de startup

    Si la instancia de SQL Server no se puede iniciar debido a una base de datos master dañada, primero debe recompilar las bases de datos del sistema. Para más información, consulte Recompilar bases de datos del sistema.

  2. Conectar a SQL Server con SQLCMD desde otra ventana del símbolo del sistema

    SQLCMD -S <instance> -E -d master
    
  3. Para restaurar una copia de seguridad completa de base de datos maestra, use la siguiente instrucción de Transact-SQL RESTORE DATABASE:

    RESTORE DATABASE master FROM  <backup_device>  WITH REPLACE
    

    La opción REPLACE indica a SQL Server que restaure la base de datos especificada incluso cuando ya exista otra con el mismo nombre. La base de datos existente, si existe, se elimina. En el modo de usuario único, es recomendable introducir la instrucción RESTORE DATABASE en la utilidad sqlcmd. Para obtener más información, vea Usar la utilidad sqlcmd.

    Importante

    Después de que la base de datos maestra se haya restaurado, la instancia de SQL Server se cierra y finaliza el proceso sqlcmd. Antes de reiniciar la instancia de servidor, quite el parámetro de inicio de usuario único. Para obtener más información, consulte: Configurar opciones de inicio del servidor (Administrador de configuración de SQL Server).

  4. Reinicie la instancia del servidor normalmente como servicio, sin usar ningún parámetro de startup.

  5. Continúe con otros pasos de la recuperación, por ejemplo, restaurando otras bases de datos, adjuntando bases de datos y corrigiendo incoherencias de los usuarios.

Ejemplo

El ejemplo siguiente restaura la base de datos master en la instancia de servidor predeterminada. En el ejemplo se asume que la instancia de servidor ya se ejecuta en modo de usuario único. El ejemplo inicia sqlcmd y ejecuta una instrucción RESTORE DATABASE que restaura una copia de seguridad de base de datos completa de master desde un dispositivo de disco: Z:\SQLServerBackups\master.bak.

Nota:

Para una instancia con nombre, el comando sqlcmd debe especificar la opción -S<nombreDeEquipo>>\<nombreDeInstancia>>.

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

Consulte también

Restauraciones de base de datos completas (modelo de recuperación simple)
Restauraciones de base de datos completas (modelo de recuperación completa)
Solución de problemas de usuarios huérfanos (SQL Server)
Adjuntar y ocultar bases de datos (SQL Server)
Volver a generar bases de datos del sistema
Opciones de inicio del servicio de motor de base de datos
Administrador de configuración de SQL Server
Realizar copias de seguridad y restaurar bases de datos del sistema (SQL Server)
RESTORE (Transact-SQL)