Contexte
Le post suivant explique comment récupérer des droits sysadmin sur un serveur de base de données suite à la perte du mot de passe du compte SA.
Afin de réaliser cette procédure il faut :
- Un compte administrateur local,
- Planifier un créneau d’interruption durant la récupération des droits SA.
Récupération des droits sysadmin
1. Démarrer l’instance SQL en “single user mode” (ou monouser) avec la commande suivante depuis le répertoire “C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Binn” :
Il est également possible d’exécuter l’opération avec l’instance démarrées en “minimal configuration” avec le switch –f.
2. Une fois la base de données démarrée en mode “single user” il est possible d’utiliser l’outil SQLCMD pour récupérer les droits sysadmin, exécuter la commande suivante :
SQLCMD –S <NOMSERVEUR\NOMINSTANCE> |
3.Une fois connecté depuis SQLCMD, il faut créer un nouvel utilisateur (User1 dans l’exemple suivant) à qui affecter les droits sysadmin à l’aide des commandes suivantes :
1. CREATE LOGIN ‘User1’ with PASSWORD=’Password’ 2. GO 3. SP_ADDSRVROLEMEMBER 'User1','SYSADMIN' 4. GO |
4. Redémarrer l’instance SQL (avec la commande SQLServr.Exe) puis se connecter avec le login User1 afin de modifier le mot de passe du compte SA.