Restaurer la base de données MASTER (Transact-SQL)

S’applique à : SQL Server

Cette rubrique explique comment restaurer la base de données master à partir d’une sauvegarde complète d’une base de données.

Avertissement

En cas de reprise d’activité, l’instance où est restaurée la base de données master doit être aussi proche que possible d’une correspondance exacte de l’instance d’origine. Au minimum, cette instance de récupération doit avoir la même version, la même édition et le même niveau de patch, et doit avoir la même sélection de fonctionnalités et la même configuration externe (nom d’hôte, appartenance à un cluster, etc.) que l’instance d’origine. Sinon, vous risquez d’obtenir un comportement indéfini de l’instance SQL Server, avec une prise en charge incohérente des fonctionnalités et une viabilité incertaine.

Pour restaurer la base de données master

  1. Démarrez l'instance de serveur en mode mono-utilisateur.

    Vous pouvez démarrer SQL Server à l’aide des paramètres de démarrage -m ou -f. Pour plus d’informations sur comment modifier les paramètres de démarrage de service, consultez Options de démarrage du service du Moteur de base de données.

    À partir d’une invite de commandes, exécutez les commandes suivantes et veillez à remplacer MSSQLXX.instance par le nom de dossier approprié :

    cd C:\Program Files\Microsoft SQL Server\MSSQLXX.instance\MSSQL\Binn
    sqlservr -c -f -s <instance> -mSQLCMD
    
    • Le paramètre -mSQLCMD garantit que seul sqlcmd peut se connecter à SQL Server.
    • Pour un nom d’instance par défaut, utiliser -s MSSQLSERVER
    • -c démarre SQL Server en tant qu’application pour contourner le Gestionnaire de contrôle des services afin de raccourcir le temps de démarrage

    Si l’instance SQL Server ne peut pas démarrer en raison d’une base de données master endommagée, vous devez d’abord reconstruire les bases de données système. Pour plus d’informations, consultez Régénérer des bases de données système.

  2. Se connecter à SQL Server à l’aide de SQLCMD à partir d’une autre fenêtre d’invite de commandes

    SQLCMD -S <instance> -E -d master
    
  3. Pour restaurer une sauvegarde complète de la base de données master, utilisez l’instruction Transact-SQL RESTORE DATABASE suivante :

    RESTORE DATABASE master FROM  <backup_device>  WITH REPLACE
    

    L’option REPLACE indique à SQL Server de restaurer la base de données spécifiée même lorsqu’il existe déjà une base de données du même nom. Le cas échéant, la base de données existante est supprimée. En mode mono-utilisateur, nous vous recommandons d’entrer l’instruction RESTORE DATABASE dans l’ utilitaire sqlcmd. Pour plus d’informations, consultez Utiliser l’utilitaire sqlcmd.

    Important

    Une fois la base de données MASTER restaurée, l’instance de SQL Server s’arrête et met fin au processus sqlcmd. Avant de redémarrer l'instance du serveur, supprimez le paramètre de démarrage en mode mono-utilisateur. Pour plus d’informations, consultez Configurer les options de démarrage du serveur (Gestionnaire de configuration SQL Server).

  4. Redémarrez l’instance de serveur normalement en tant que service, sans utiliser de paramètres de démarrage.

  5. Poursuivez les autres étapes de récupération telles que la restauration d’autres bases de données, l’attachement de bases de données et la correction des incompatibilités au niveau utilisateur.

Exemple

Dans l'exemple suivant, la base de données master est restaurée sur l'instance du serveur par défaut. L'exemple suppose que l'instance du serveur s'exécute déjà en mode mono-utilisateur. L’exemple démarre sqlcmd et exécute une instruction RESTORE DATABASE qui restaure une sauvegarde complète de la base de données de master à partir d’une unité de disque : Z:\SQLServerBackups\master.bak.

Remarque

Dans le cas d’une instance nommée, la commande sqlcmd doit spécifier l’option -S<NomOrdinateur>\<NomInstance>.

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

Voir aussi

Restaurations de base de données complètes (mode de récupération simple)
Restaurations complètes de bases de données (mode de récupération complète)
Résoudre les problèmes d’utilisateurs orphelins (SQL Server)
Attacher et détacher une base de données (SQL Server)
Reconstruire des bases de données système
Options de démarrage du service moteur de base de données
Gestionnaire de configuration SQL Server
Sauvegarder et restaurer des bases de données système (SQL Server)
RESTORE (Transact-SQL)