How to recover SA password on Microsoft SQL Server 2008 R2
When you are using MS SQL Server in mixed mode, it is very important that you know your SA password.
There can be different reasons you lost the password
- Person who installed the SQL Server knows the password but has left the building.
- You did not write down the password in your password file
- Password file is lost
- …
Steps to recover the SA password
-
Start SQL Server Configuration Manager

-
Stop the SQL services

-
Edit the properties of the SQL Service

-
Change the startup parameters of the SQL service by adding a –m; in front of the existing parameters


- Start the SQL services. These are now running in Single User Mode.
- Start CMD on tthe SQL server
-
Start the SQLCMD command. Now you will see following screen

-
Now we create a new user. Enter following commands
- CREATE LOGIN recovery WITH PASSWORD = ‘TopSecret 1′ (Remember SQL server has default strong password policy
-
Go
- Now this user is created
-
Now we grant the user a SYSADMIN roles using the same SQLCMD window.
- sp_addsrvrolemember ‘recovery’, ‘sysadmin’
- go
- Stop the SQL service again
-
Change the SQL service properties back to the default settings

- Start the SQL service again and use the new created login (recovery in my example)
-
Go via the security panel to the properties and change the password of the SA account.

- Now write down the new SA password.
16 Comments
Post a comment








very Well It works!thank you for sharing your information in such a good way!!!
This was EXACTLY what I needed. Thanks much!
Thank you thank you thank you
I also find other 3 methods to reset forgotten SA password, learn more details at: http://www.top-password.com/knowledge/change-sql-server-password.html
Nice job !!! Thank you !!! *****
Super! You made my day!
great how to, Thanks a lot
Thanks a lot .. it worked for me .. saved my lot of time for reinstallation
Very very useful,, this resolves my issue,,,
I was very much happy,,,,,,,
Thanks a lot for the guys who have found this…
This works (as you knew it would) Thank you.
Thank you the above article is very helpfull
This article saved a lot of time for me. Thank you
Thanks for the step by step details, this helped a lot with the default instance. Would you know how to make it do it for a named instance? I have searched and searched by no one seems to be plagued by a named instance. So maybe I’m missing something really obvious?
It’s not Working properly……It’s getting Occur
Sqlcmd: Error:Sqlserver Native Client 10.0 login Timeout Expaired…
How to solve it…
Hi,
Can you send me the steps you followed and where it went wrong??
Thanks
Gert
Thank you – just what I was looking for and very easy to follow.