Modifier temporairement un mot de passe inconnu

Fabien Celaia

- Titre : Modifier temporairement un mot de passe inconnu

- Auteur : Fabien Celaia

- Parution : 25 septembre 2005

- Public visé :

- Licence : Copyright ® 2006 Fabien Celaia. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Sommaire

- Problématique et prérequis

- Solution

Problématique et prérequis

Vous êtes administrateur d'un serveur SQL.

Un applicatif utilise un login dont vous ne connaissez pas le mot de passe.

Vous devez modifier le mot de passe pour redonner les accès, mais ne pouvez risquer de perdre le mot de passe existant s'il venait à avoir été codé en dur dans une quelconque partie de l'applicatif.

Solution

Copier le mot de passe existant :

SELECT password, name INTO old_login FROM master..sysxlogins

Changer le mot de passe existant :

EXEC sp_password NULL, NouveauMotDePasse, MonLogin

À ce niveau, arrêtez-vous, faites vos tests, puis déterminez quel mot de passe vous voulez garder : l'ancien ou le nouveau !

Garder la nouvelle configuration :

DROP TABLE old_login

… ou remettre l'ancien mot de passe :

EXEC sp_configure updates,1
GO
reconfigure with override
GO
UPDATE master..sysxlogins
SET password=O.password
FROM old_login O, sysxlogins L
WHERE L.name=O.name
AND O.name='MonUtilisateur'
GO
EXEC sp_configure updates,0
GO
reconfigure with override
GO
DROP TABLE old_login
go