Wednesday, December 10, 2008

Har du loosat pw till SA usern i SQL 2000?

Det finns några lösningar att ta till. Bla att sniffa passwordet via nått monitoreringsverkty men det skall vi inte gå in på här. Utan vi titta i själva master databasen. Vi behöver en SQL server där vi känner till SA passwordet. Hämta password strängen för SA. Passwordet lagras i en systemtabell som heter SYSXLOGINS och finns i kolumnen password.

Select * from sysxlogins

0x0100EB14356A1C88E4092CB60ED894C9FEC8447E0640563874FF4326113F9E6E48F10B5F38572ACB8E785B83A91C

Spara undan denna sträng till senare. Nu stänger vi ner SQL tjänsten på servern vi inte känner till passwordet på. Kopiera sedan masterdatabasens filer till SQL servern där du känner till SA passwordet. Kopla den till systemet med ett annat namn än master. Kör sedan Queryanalyzer mot databasen och updatera den med password strängen som vi hämtade ut tidigare. Observera att man måste dels tillåta uppdateringar av systemtabeller och dels konvertera strängen till varbinary.

SP_CONFIGURE 'ALLOW UPDATES', 1
GO
RECONFIGURE WITH OVERRIDE
GO

Update sysxlogins set password = CONVERT (varbinary(256),0x0100EB14356A1C88E4092CB60ED894C9FEC8447E0640563874FF4326113F9E6E48F10B5F38572ACB8E785B83A91C)
where name = 'sa'


SP_CONFIGURE 'ALLOW UPDATES', 0
GO
RECONFIGURE WITH OVERRIDE
GO

Sedan är det bara att flytta tillbaks databasfilerna till orginal servern och Voila! SA har nu samma lösen som servern du kände till passwordet för.

No comments: