SQL Server 2012 : Urgence mot de passe

Lorsque l'impensable se produit et que vous oubliez votre mot de passe SQL Server, il existe des moyens d'accéder au système.

Saleem Hakani

Vous êtes une fierté et un confiance DBA au sein de votre organisation. Vous êtes responsable de tenir à jour plusieurs services importants en cours d'exécution sur les serveurs SQL Server dans votre environnement de production. Vous avez décidé d'effectuer les étapes suivantes, qui sont les meilleures pratiques tout DBA solide prendrait — pour garantir à votre entreprise de serveurs SQL de tout accès non autorisé :

  • Vous avez supprimé les comptes d'administrateur intégrés tout entre les connexions SQL Server.
  • Vous avez supprimé tous les utilisateurs (sauf l'administrateur système, ou SA) qui faisaient partie du rôle de serveur SYSADMIN (y compris les connexions des comptes Windows et SQL Server).
  • Vous avez défini le mot de passe du compte SA à quelque chose d'extrêmement complexe qui est difficile pour quiconque de deviner ou de se rappeler.
  • Pour les opérations courantes sur SQL Server, vous utilisez votre compte d'utilisateur de domaine, qui dispose d'autorisations de propriétaire de base de données (DBO) sur les bases de données utilisateur, mais ne dispose pas des privilèges SYSADMIN sur le système.
  • Vous n'avez pas documenté le mot de passe SA n'importe où pour empêcher quiconque de le savoir. Après tout, il n'est pas une bonne pratique de documenter le mot de passe.

Parce que vous avez défini le mot de passe SA est donc complexe, et vous utilisez votre compte de domaine et pas le compte SA pour votre quotidienne axés sur la base de données sur l'activité SQL Server — l'impensable s'est produit. Vous avez oublié votre mot de passe SQL Server SA.

Vous étiez la seule personne qui connaissait le mot de passe SA de votre équipe. Maintenant, vous ne me souviens pas ce que c'était et que vous devez apporter quelques modifications de configuration au niveau du serveur à vos boîtes de SQL Server de production. Qu'allez-vous faire maintenant ? Voici quelques solutions :

  • Essayez de vous connecter tant que SA avec tous les mots de passe possibles, que vous avez dans votre esprit.
  • Rechercher le mot de passe SA sur votre disque dur ou dans vos e-mails (vous pouvez stockées dans un fichier, qui est une mauvaise pratique, mais pouvez s'avérer utile).
  • Essayez de restaurer le capitaine base de données de sauvegarde de la base de données. Cela n'aidera pas à long terme parce que vous allez rencontrer toujours le même problème si vous ne me souviens pas du mot de passe SA.
  • Reconstruire le capitaine base de données. C'est seulement marginalement utile, car vous perdrez toutes les configurations au niveau du système et du serveur et les paramètres, y compris les connexions, les autorisations et tous les objets au niveau du serveur.
  • Réinstallez SQL Server 2012 et attachez toutes les bases de données utilisateur. Cela peut ne pas fonctionner, que vous pouvez rencontrer les mêmes problèmes qui pourraient se produire avec le maître de la reconstruction des bases de données.

Assumer toutes vos tentatives de se connecter au système en utilisant le mot de passe SA. Il est maintenant temps pour vous d'appeler des renforts : le produit de Microsoft prend en charge l'équipe des services. Voici ce qu'ils pourraient vous faire dire :

C'est une porte dérobée pour SQL Server 2012 qui vous aideront à avoir accès SYSADMIN à vos serveurs SQL Server de production. Toutefois, cela signifie que votre compte Windows devra être un membre du groupe administrateurs locaux sur les serveurs Windows exécutant les services SQL Server 2012.

SQL Server permet de se connecter à SQL Server avec des privilèges SYSADMIN n'importe quel membre d'un groupe d'administrateurs locaux.

Voici les étapes à prendre le contrôle de votre SQL Server 2012 comme une association de sécurité :

1. Démarrez l'instance de SQL Server 2012 en utilisant le mode mono-utilisateur à l'invite de commande en lançant l'invite de commandes en tant qu'administrateur. Vous pouvez également démarrer SQL Server 2012 à l'aide d'une configuration minimale, qui mettra également SQL Server en mode mono-utilisateur.
2. À partir de l'invite de commande (exécuter en tant qu'administrateur), tapez : – M SQLServr.Exe (ou SQLServr.exe – f) et démarrer le moteur de base de données SQL Server 2012. Assurez-vous que vous ne fermez pas cette fenêtre d'invite de commandes. Vous pouvez localiser SQLServr.exe dans le dossier Binn de cheminement de votre environnement. Si vous n'avez pas un dossier Binn de SQL Server 2012 dans le cheminement de votre environnement, vous pouvez toujours naviguer vers le dossier Binn de votre ordinateur SQL Server 2012. Généralement le dossier Binn se trouve dans C:\Program Files\Microsoft SQL Server MSSQL11.MSSQLSERVER\MSSQL\Binn >.
3. Une fois SQL Server 2012 service a démarré en mode mono-utilisateur ou avec une configuration minimale, vous pouvez maintenant ouvrir une autre fenêtre de ligne de commande en tant qu'administrateur et utiliser la commande SQLCMD à partir de l'invite pour se connecter à l'instance de SQL Server 2012 :

SQLCMD –S <Server_Name\Instance_Name> Example: SQLCMD –S "SALEEMHAKANI"

  Vous va maintenant être connecté à SQL Server. N'oubliez pas que vous êtes connecté en tant qu'administrateur sur l'instance de SALEEMHAKANI SQL Server 2012.
4. Une fois que vous êtes connecté à SQL Server 2012 utilisant SQLCMD à partir de l'invite de commande, vous avez la possibilité de créer un nouveau compte et lui accordant l'autorisation au niveau du serveur. Créer une nouvelle connexion SQL Server 2012, appelé « Saleem_SQL » et puis ajoutez ce compte au rôle de serveur SA. Pour créer une nouvelle connexion à l'invite de commande après avoir effectué l'étape 3, procédez comme suit :

1> CREATE LOGIN '<Login_Name>' with PASSWORD='<Password>' 2> GO

  Voici un exemple :

1> CREATE LOGIN SQL_SALEEM WITH PASSWORD='$@L649$@m' 2> GO

  Une fois que vous avez créé le nouveau nom de connexion "SQL_SALEEM", ajouter ce nom d'utilisateur au rôle SA server sur l'instance de SQL Server 2012. De la même fenêtre d'invite de commandes, exécutez l'instruction suivante :

1> SP_ADDSRVROLEMEMBER '<Login_Name>','SYSADMIN' 2>go

  Pour ajouter une connexion existante dans le rôle de serveur SYSADMIN, exécutez ce qui suit :

1> SP_ADDSRVROLEMEMBER '<LOGIN_NAME>','SYSADMIN' 2> GO

  Voici un exemple :

1> SP_ADDSRVROLEMEMBER SQL_SALEEM,'SYSADMIN' 2> GO

  L'opération précédente s'occupera de l'octroi des privilèges SYSADMIN à la connexion « SQL_SALEEM ».
5. Une fois que vous avez correctement effectué ces étapes, l'étape suivante consiste à arrêter et démarrer les services SQL Server à l'aide des options de démarrage normal. Cette fois, vous n'aurez pas besoin – f ou – m.
6. Ouvrez une session 2012 de SQL Server management studio. Vous pourriez également ouvrir une session partir de l'invite de commande en utilisant le compte « SQL_SALEEM » et son mot de passe respectif. Vous avez maintenant accès SA à votre instance de SQL Server 2012. Vous pouvez maintenant réinitialiser le mot de passe SA et prendre le contrôle de votre production de boîtes de SQL Server.

Il est parfaitement normal d'oublier votre mot de passe de temps en temps, mais qui ne signifie pas que c'est moins de tracas. Ces mesures d'urgence vous doivent se lever et courir sans trop de brouillage ou de temps d'arrêt.

Saleem Hakani

Saleem Hakani est architecte principal chez Microsoft avec plus de 18 années d'expérience. Il a travaillé avec SQL Server depuis 1992 et a travaillé sur nombreux services à grande échelle de Microsoft comme ingénieur et architecte au cours des sept dernières années, y compris Hotmail, Bing et MSN. Hakani dirige la communauté SQL Server pour les employés de Microsoft et est un présentateur technique pour divers événements Microsoft SQL-école, TechReady, SQLFEST et SQLPASS.

Contenu associé