Forgot SA Password on SQL Server??

Here’s the solution

I. Force SQL server to support mixed-mode authentication.
1. Run REGEDIT
2. Go to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQLServer
NOTE: This key may vary slightly based on the installed version and instance name.
3. Set “LoginMode” to 2.
4. Restart SQL Server.
(Source: http://support.microsoft.com/kb/285097 )

II. Force SQL server to let you in temporarily
1. Go to services.
2. Stop SQL Server.
3. Grab the SQL server command-line (right click the service – properties). Mine is:
“C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\Binn\sqlservr.exe” -sSQLEXPRESS
4. Open an administrative command prompt.
5. Run the command-line from step 3, but add -m -c for single-user maintenance mode command-line.
6. Open another administrative command prompt.
7. Run “sqlcmd -S localhost\SQLEXPRESS” from that same directory (replace with your server and instance name)
8. Now you can do all the stuff everyone told you to do that didn’t work. For example, to create a hero user with administrative accss:

CREATE LOGIN hero WITH PASSWORD=’123′, DEFAULT_DATABASE=[master], DEFAULT_LANGUAGE=[us_english], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF
EXEC sys.sp_addsrvrolemember @loginname = ‘hero’, @rolename = ‘sysadmin’
GO

9. QUIT and close the command-prompt
10. Go to the SQL Server command-line window and hit ctrl+C. It will prompt “Do you wish to shutdown SQL Server (Y/N)?” and enter Y.
11. Close the command-prompt
(Source: http://msdn.microsoft.com/en-us/library/dd207004.aspx )

III. Finally, login using your hero:
1. Restart the SQL Server service
2. Login using SQL Server authentication as the user “hero” with password “123”
3. *BAM* now you are in. Now give yourself sysadmin access and delete the temporary user.

Posted in: