[SQL Server] Devenir sysadmin


Contexte

Il peut arriver de se retrouver en présence d’une instance SQL que personne « ne connait » et sur laquelle personne ne peut vous attribuer les droits car elle a été « laissée à l’abandon ».
Cette instance peut par exemple contenir  des bases SQL que vous souhaitez récupérer.


L’objectif de ce document est d’expliquer comment faire pour obtenir des droits sur une instance sans y avoir accès au préalable.

Pré-requis

Être administrateur du serveur/poste où est installée l’instance.

Démarche

Tous d’abord, il faut se connecter en Admin au poste.

Récupérer le nom de l’instance SQL

Avant tout, il faut connaitre le nom de l’instance SQL qui tourne sur la machine. L’une des façons de procéder est de passer par le « SQL Configuration Manager » depuis le menu Démarrer/Tous Les Programmes/Microsoft SQL Server XXX/Configuration Tools.

Dans le manager,  se positionner sur « SQL Server Services »  pour faire apparaître la liste des Instances SQL qui sont installées et repérer le nom de l’instance SQL : SQL Server (<nom_instance>).


On peut fermer le Manager.

Arrêt du service SQL

Il faut ensuite arrêter le service SQL via une invite de commande.
La commande à taper est la suivante :
  • Instance nommée « net stop mssql$<nom_instance> »
  • Instance par défaut « net stop MSSQLSERVER»



Redémarrer l’instance SQL en mode Single User

Pour redémarrer le service en mode single user, il faut utiliser la commande suivante :
  • Instance nommée « net start mssql$<nom_instance> /m »
  • Instance par défaut « net start MSSQLSERVER /m »


Attribuer le rôle désiré via le cmd

Il faut tout d’abord passer en mode ‘SQLCMD’. Ce mode permet d’exécuter des instructions SQL via une invite de commande.
Pour passer en mode ‘SQLCMD’, il suffit de taper l’instruction suivante :
  • Instance nommée « sqlcmd –S <nom_machine\nom_instance> »
  • Instance par défaut « sqlcmd –S <nom_machine> »


Le ‘1>’ indique que l’invite de commande est maintenant prête à recevoir des instructions SQL.
On peut maintenant se donner les droits sur l’instance via la commande suivante :
« Exec sp_addsrvrolemember ‘domaine\utilisateur’, ‘role désiré’ »
Ex : 
  • "exec sp_addsrvrolemember ‘domaine\user1’, ‘sysadmin’" => Enter
  • "GO" => Enter

Pour quitter le mode SQL CMD : ‘exit’



Redémarrage de l’instance

Il faut redémarrer l’instance sans le single user mode :
      1.       « net stop mssql$<nom_instance> » ou « net stop MSSQLSERVER »
      2.       « net start mssql$<nom_instance> » ou « net start MSSQLSERVER»

Connexion via Management studio

Il est maintenant possible de se connecter à l’instance via Management Studio afin d’accéder à l’ensemble des bases.



                     Connexion à l’instance OLAP



1 commentaire:

  1. Super procédure...Attention aux copier/coller. Merci guillaume

    Julien .S

    RépondreSupprimer