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