Dépannage : se connecter à SQL Server lorsque les administrateurs système n'y ont plus accès

Cette rubrique explique comment avoir à nouveau accès au moteur de base de données SQL Server en tant qu'administrateur système. Un administrateur système peut perdre l'accès à une instance de SQL Server pour l'une des raisons suivantes :

  • Toutes les connexions qui sont membres du rôle serveur fixe sysadmin ont été supprimées par erreur.

  • Tous les groupes Windows qui sont membres du rôle serveur fixe sysadmin ont été supprimés par erreur.

  • Les connexions membres du rôle serveur fixe sysadmin sont destinées aux personnes qui ont quitté la société ou qui ne sont pas disponibles.

  • Le compte d'administrateur système (sa) est désactivé ou personne ne connaît le mot de passe.

L'une des méthodes pour retrouver l'accès consiste à réinstaller SQL Server et à attacher toutes les bases de données à la nouvelle instance. Cette solution demande beaucoup de temps ; par ailleurs, pour récupérer les connexions, il peut s'avérer nécessaire de restaurer la base de données MASTER à partir d'une sauvegarde. Si la sauvegarde de la base de données MASTER est plus ancienne, il est possible qu'elle ne possède pas toutes les informations. Si la sauvegarde de la base de données MASTER est plus récente, elle possède peut-être les mêmes connexions que l'instance précédente ; par conséquent, les administrateurs sont toujours bloqués.

Résolution

Démarrez l'instance de SQL Server en mode mono-utilisateur à l'aide de l'option -m ou -f. Tout membre du groupe Administrateurs local de l'ordinateur peut se connecter ensuite à l'instance de SQL Server comme membre du rôle serveur fixe sysadmin.

Notes

Lorsque vous démarrez une instance de SQL Server en mode mono-utilisateur, arrêtez au préalable le service SQL Server Agent. Sinon, l'Agent SQL Server peut se connecter en premier et vous empêcher de vous connecter en tant que second utilisateur.

Lorsque vous utilisez l'option -m avec sqlcmd ou SQL Server Management Studio, vous pouvez limiter les connexions à une application cliente spécifiée. Par exemple, -m"sqlcmd" limites 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 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.

Pour obtenir des instructions détaillées sur le démarrage de SQL Server en mode mono-utilisateur, consultez Procédure : configurer les options de démarrage du serveur (Gestionnaire de configuration SQL Server).