Compartir a través de


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. Si lo hace, puede dar lugar a un comportamiento de instancia de SQL Server indefinido, con compatibilidad de características incoherente, y no se garantiza que sea viable.

Restaurar la base de datos 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 acerca de 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. Conéctese a SQL Server mediante sqlcmd desde otra ventana del símbolo del sistema:

    sqlcmd -S <instance> -E -d master
    
  3. Para restaurar una copia de seguridad completa de la base de datos de master, utilice las siguientes instrucciones RESTORETransact-SQL instrucción:

    RESTORE DATABASE master FROM <backup_device> WITH REPLACE;
    

    La REPLACE opción indica a SQL Server que restaure la base de datos especificada incluso cuando ya existe una base de datos con el mismo nombre. La base de datos existente, si existe, se elimina. En el modo de usuario único, se recomienda escribir la RESTORE DATABASE instrucción en la utilidad sqlcmd. Para obtener más información, consulte Uso de sqlcmd.

    Importante

    Una vez master restaurada, la instancia de SQL Server se apaga y finaliza el sqlcmd proceso. Antes de reiniciar la instancia de servidor, quite el parámetro de inicio de usuario único. Para obtener más información, vea Administrador de configuración de SQL Server: Configurar opciones de inicio del servidor.

  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.

Ejemplos

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. En el ejemplo se inicia sqlcmd y se ejecuta una RESTORE DATABASE instrucción que restaura una copia de seguridad completa de la base de datos desde un dispositivo de master disco: Z:\SQLServerBackups\master.bak.

Para una instancia con nombre, el mandato sqlcmd debe especificar la -S<computer-name>\<instance-name> opción.

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