Démarrer SQL Server en mode mono-utilisateur

Dans certaines circonstances, vous devrez peut-être démarrer une instance de SQL Server en mode mono-utilisateur à l'aide de startup option -m. Vous pouvez par exemple vouloir modifier les options de configuration du serveur ou récupérer une base de données master endommagée ou une autre base de données système. Les deux actions requièrent le démarrage d'une instance de SQL Server en mode mono-utilisateur.

Le démarrage de SQL Server en mode mono-utilisateur permet à tout membre du groupe Administrateurs local de l'ordinateur de se connecter à l'instance de SQL Server en tant que membre du rôle serveur fixe sysadmin. Pour plus d'informations, consultez Se connecter à SQL Server lorsque les administrateurs système n'y ont plus accès.

Lorsque vous démarrez une instance de SQL Server en mode mono-utilisateur, notez les éléments suivants :

  • un seul utilisateur peut se connecter au serveur ;

  • le processus CHECKPOINT n'est pas exécuté ; par défaut, il est exécuté automatiquement au démarrage.

[!REMARQUE]

Arrêtez le service SQL Server Agent avant de vous connecter à une instance de SQL Server en mode mono-utilisateur ; sinon, le service SQL Server Agent utilise cette connexion et, par conséquent, la bloque.

Lorsque vous démarrez une instance de SQL Server en mode mono-utilisateur, SQL Server Management Studio peut se connecter à SQL Server. L'exécution de l'Explorateur d'objets dans Management Studio peut échouer, car il requiert plusieurs connexions pour certaines opérations. Pour gérer SQL Server en mode mono-utilisateur, exécutez des instructions Transact-SQL en vous connectant uniquement via l'éditeur de requête dans Management Studio, ou utilisez l'utilitaire sqlcmd.

Lorsque vous utilisez l'option -m avec sqlcmd ou Management Studio, vous pouvez limiter les connexions à une application cliente spécifiée. Par exemple, -m"sqlcmd" limite les connexions à une connexion unique, laquelle doit s'identifier en tant que programme client sqlcmd. Utilisez cette option lorsque vous démarrez SQL Server en mode mono-utilisateur et qu'une application cliente inconnue utilise la seule connexion disponible. Pour établir une connexion par le biais de l'Éditeur de requêtes dans Management Studio, utilisez -m"Microsoft SQL Server Management Studio - Query".

Remarque relative à la sécuritéRemarque relative à la sécurité

N'utilisez pas cette option comme fonctionnalité de sécurité. L'application cliente fournit le nom d'application cliente et peut fournir un nom erroné dans la chaîne de connexion.

Remarque relative aux installations en cluster

Pour l'installation SQL Server dans un environnement en cluster, lorsque SQL Server est démarré en mode mono-utilisateur, la DLL de ressource de cluster utilise la connexion disponible, ce qui bloque par conséquent les autres connexions au serveur. Lorsque SQL Server est dans cet état, si vous essayez de mettre la ressource Agent SQL Server en ligne, la ressource SQL peut basculer à un nœud différent si la ressource est configurée pour affecter le groupe.

Pour contourner le problème, utilisez la procédure suivante :

  1. Supprimez le paramètre de démarrage –m des Propriétés avancées SQL Server.

  2. Mettez la ressource SQL Server hors connexion.

  3. À partir du nœud de propriétaire actuel de ce groupe, émettez le commande suivante de l'invite de commandes : net start MSSQLSERVER /m.

  4. Vérifiez dans la console de l'administrateur de cluster ou de gestion de cluster de basculement que la ressource SQL Server est encore hors connexion.

  5. Connectez-vous maintenant à SQL Server à l'aide de la commande suivante et exécutez l'opération nécessaire : SQLCMD - E -<nom de serveur S>.

  6. Une fois que l'opération est terminée, fermez l'invite de commandes et remettez les ressources SQL et d'autres ressources en ligne via la console de l'administrateur de cluster.

Voir aussi

Référence

Utilitaire sqlcmd

CHECKPOINT (Transact-SQL)

sp_configure (Transact-SQL)

Concepts

Démarrer, arrêter ou suspendre le service SQL Server Agent

Connexion de diagnostic pour les administrateurs de base de données

Options de démarrage du service moteur de base de données