Partager via


Se connecter à SQL Server lorsque les administrateurs système sont verrouillés

Cette rubrique explique comment récupérer l’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 membres du rôle serveur fixe sysadmin ont été supprimés par erreur.

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

  • Le compte sa est désactivé ou personne ne connaît le mot de passe.

L’une des façons dont vous pouvez récupérer l’accès consiste à réinstaller SQL Server et à attacher toutes les bases de données à la nouvelle instance. Cette solution prend beaucoup de temps ; et, pour récupérer les connexions, il peut nécessiter la restauration de la base de données master à partir d’une sauvegarde. Si la sauvegarde de la base de données master est plus ancienne, il se peut qu’elle n’ait pas toutes les informations. Si la sauvegarde de la base de données master est plus récente, elle peut avoir les mêmes connexions que l’instance précédente ; par conséquent, les administrateurs seront toujours verrouillés.

Résolution

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

Remarque

Quand vous démarrez une instance de SQL Server en mode mono-utilisateur, arrêtez d’abord le service SQL Server Agent. Sinon, SQL Server Agent peut se connecter en premier et vous empêcher de vous connecter en tant que deuxième 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 » 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.

Pour obtenir des instructions pas à pas sur la façon de démarrer SQL Server en mode mono-utilisateur, consultez Configurer les options de démarrage du serveur (Gestionnaire de configuration SQL Server).

Instructions, étapeBy-Step

Les instructions suivantes décrivent le processus de connexion à SQL Server 2014 s’exécutant sur Windows 8 ou version ultérieure. De légères ajustements pour les versions antérieures de SQL Server ou Windows sont fournis. Ces instructions doivent être effectuées lors de la connexion à Windows en tant que membre du groupe administrateurs local, et supposent que SQL Server Management Studio est installé sur l’ordinateur.

  1. À partir de la page de démarrage, démarrez SQL Server Management Studio. Dans le menu Affichage , sélectionnez Serveurs inscrits. (Si votre serveur n’est pas déjà inscrit, cliquez avec le bouton droit sur Groupes de serveurs locaux, pointez sur Tâches, puis cliquez sur Inscrire des serveurs locaux.)

  2. Dans la zone Serveurs inscrits, cliquez avec le bouton droit sur votre serveur, puis cliquez sur le Gestionnaire de configuration SQL Server. Cela doit demander l’autorisation d’exécuter en tant qu’administrateur, puis d’ouvrir le programme Configuration Manager.

  3. Fermez Management Studio.

  4. Dans le Gestionnaire de configuration SQL Server , dans le volet gauche, sélectionnez Services SQL Server. Dans le volet droit, recherchez votre instance de SQL Server. (L’instance par défaut de SQL Server inclut (MSSQLSERVER) après le nom de l’ordinateur. Les instances nommées sont affichées en majuscules et portent le même nom que dans la zone Serveurs inscrits.) Cliquez avec le bouton droit sur l’instance de SQL Server, puis cliquez sur Propriétés.

  5. Sous l’onglet Paramètres de démarrage, dans la zone Spécifier un paramètre de démarrage, tapez-m, puis cliquez sur .Add (Il s'agit d'un trait d'union suivi d'un m minuscule)

    Remarque

    Pour certaines versions antérieures de SQL Server, il n’existe aucun onglet Paramètres de démarrage . Dans ce cas, sous l’onglet Avancé , double-cliquez sur Paramètres de démarrage. Les paramètres s’ouvrent dans une très petite fenêtre. Veillez à ne pas modifier les paramètres existants. À la fin, ajoutez un nouveau paramètre ;-m , puis cliquez sur OK. (Il s'agit d'un point-virgule, suivi d'un trait d'union et d'un m minuscule.)

  6. Cliquez sur OK, puis après le message pour redémarrer, cliquez avec le bouton droit sur le nom de votre serveur, puis cliquez sur Redémarrer.

  7. Une fois que SQL Server a redémarré votre serveur sera en mode mono-utilisateur. Vérifiez que SQL Server Agent n’est pas en cours d’exécution. S'il est démarré, il prendra votre seule connexion.

  8. Sur l’écran de démarrage de Windows 8, cliquez avec le bouton droit sur l’icône de Management Studio. En bas de l’écran, sélectionnez Exécuter en tant qu’administrateur. (Cela transmet vos informations d’identification d’administrateur à SSMS.)

    Remarque

    Pour les versions antérieures de Windows, l’option Exécuter en tant qu’administrateur apparaît sous-menu.

    Dans certaines configurations, SSMS tente d’établir plusieurs connexions. Plusieurs connexions échouent, car SQL Server est en mode mono-utilisateur. Vous pouvez sélectionner l’une des actions suivantes à effectuer. Procédez de l'une des manières suivantes :

    1. Connectez-vous à l’Explorateur d’objets à l’aide de l’authentification Windows (qui inclut vos informations d’identification d’administrateur). Développez Sécurité, Connexions, puis double-cliquez sur votre propre connexion. Dans la page Rôles de serveur , sélectionnez sysadmin, puis cliquez sur OK.

    2. Au lieu de vous connecter avec l'Explorateur d'objets, connectez-vous avec une fenêtre de requête en utilisant l'authentification Windows (qui contient vos informations d'identification d'administrateur). (Vous pouvez uniquement vous connecter de cette façon si vous ne vous êtes pas connecté à l’Explorateur d’objets.) Exécutez du code tel que le suivant pour ajouter une nouvelle connexion d’authentification Windows membre du sysadmin rôle serveur fixe. L’exemple suivant ajoute un utilisateur de domaine nommé CONTOSO\PatK.

      CREATE LOGIN [CONTOSO\PatK] FROM WINDOWS;  
      ALTER SERVER ROLE sysadmin ADD MEMBER [CONTOSO\PatK];  
      
    3. Si votre instance de SQL Server s'exécute en mode d'authentification mixte, connectez-vous avec une fenêtre de requête en utilisant l'authentification Windows (qui inclut vos informations d'identification d'administrateur). Exécutez un code tel que celui-ci pour créer une nouvelle connexion avec authentification SQL Server, membre du rôle serveur fixe sysadmin.

      CREATE LOGIN TempLogin WITH PASSWORD = '************';  
      ALTER SERVER ROLE sysadmin ADD MEMBER TempLogin;  
      

      Avertissement

      Remplacez ************ par un mot de passe fort.

    4. Si votre instance de SQL Server s’exécute en mode d’authentification mixte et que vous souhaitez réinitialiser le mot de passe du compte sa, connectez-vous avec une fenêtre Requête en utilisant l’authentification Windows (qui inclut vos informations d’identification d’administrateur). Modifiez le mot de passe du compte sa en respectant la syntaxe suivante.

      ALTER LOGIN sa WITH PASSWORD = '************';  
      

      Avertissement

      Remplacez ************ par un mot de passe fort.

  9. Les étapes suivantes ramènent désormais SQL Server en mode multi-utilisateur. Fermez SSMS.

  10. Dans le Gestionnaire de configuration SQL Server , dans le volet gauche, sélectionnez Services SQL Server. Dans le volet droit, cliquez avec le bouton droit sur l’instance de SQL Server, puis cliquez sur Propriétés.

  11. Sous l’onglet Paramètres de démarrage , dans la zone Paramètres existants , sélectionnez -m , puis cliquez sur Remove.

    Remarque

    Pour certaines versions antérieures de SQL Server, il n’existe aucun onglet Paramètres de démarrage . Dans ce cas, sous l’onglet Avancé , double-cliquez sur Paramètres de démarrage. Les paramètres s’ouvrent dans une très petite fenêtre. Supprimez le ;-m fichier que vous avez ajouté précédemment, puis cliquez sur OK.

  12. Cliquez avec le bouton droit sur le nom de votre serveur, puis cliquez sur Redémarrer.

Vous devez maintenant être en mesure de vous connecter normalement à l’un des comptes qui est maintenant membre du sysadmin rôle serveur fixe.

Voir aussi

Démarrer SQL Server en mode Single-User
Options de démarrage du service moteur de base de données