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.
Notes
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 seule connexion et cette connexion 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 vous connecter par le biais de 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 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 :
Supprimez le paramètre de démarrage -m des propriétés avancées SQL Server.
Mettez la ressource SQL Server hors connexion.
À partir du nœud de propriétaire actuel de ce groupe, émettez le commande suivante de l'invite de commandes :
net start MSSQLSERVER /m.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.
Connectez-vous maintenant à SQL Server en utilisant la commande suivante et exécutez l’opération nécessaire : SQLCMD -E -S<nomduserveur>.
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
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