Partager via


Démarrer SQL Server en mode Single-User

Dans certaines circonstances, vous devrez peut-être démarrer une instance de SQL Server en mode mono-utilisateur à l’aide de l’option de démarrage -m. Par exemple, vous pouvez 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 nécessitent 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 sont verrouillés.

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

  • Un seul utilisateur peut se connecter au serveur.

  • Le processus CHECKPOINT n’est pas exécuté. Par défaut, elle est exécutée 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 la connexion, ce qui le bloque.

Lorsque vous démarrez une instance de SQL Server en mode mono-utilisateur, SQL Server Management Studio peut se connecter à SQL Server. L’Explorateur d’objets dans Management Studio peut échouer, car il nécessite 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 seule connexion et cette connexion doit s’identifier comme 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 vous connecter via l’éditeur de requête dans Management Studio, utilisez -m"Microsoft SQL Server Management Studio - Query »..

Important

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 pour les installations en cluster

Pour l’installation de 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 bloquant ainsi toutes les autres connexions au serveur. Lorsque SQL Server est dans cet état, si vous essayez de mettre en ligne la ressource SQL Server Agent, cela peut déclencher un basculement de la ressource SQL vers un autre nœud si la ressource est configurée pour impacter 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. Mettre la ressource SQL Server hors connexion.

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

  4. Vérifiez auprès de l’administrateur de cluster ou de la console de gestion du cluster de basculement que la ressource de SQL Server est toujours hors connexion.

  5. Connectez-vous maintenant à SQL Server à l’aide de la commande suivante et effectuez l’opération nécessaire : SQLCMD -E -S<servername>.

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

Voir aussi

démarrer, arrêter ou suspendre le service SQL Server Agent
Connexion de diagnostic pour les administrateurs de base de données
utilitaire sqlcmd
CHECKPOINT (Transact-SQL)
sp_configure (Transact-SQL)
Options de démarrage du service moteur de base de données