views:

127

answers:

1

I have access to an installation of SQL 2005 Express. I probably installed it myself some time ago. But haven't used it in a while.

I tried to access this instance via an 'sa' password I typically use for such local installs.

However this password did not work.

I double checked that mixed mode authentication is setup and that the sa user exists.

I can access the instance via windows authentication and query the heck out of the DB's (even master). No problem.

Then I tried to reset the sa password using this sql:

ALTER LOGIN sa WITH PASSWORD = 'MyNewPassword';

It promptly fails with this error:

Cannot alter the login 'sa', because it does not exist or you do not have permission.

So why does my local Windows user not have permission to do this?

+1  A: 

Have you followed these steps?

Are you logged in as the same admin user who installed the service in the first place, or local admin? Being able to read is one level of permission. Being able to change data and especially server-level objects is another set of permissions. Just because you can read does not mean you're going to be able to write.

If using different admin logins fails, you could always hack your sa password with a recovery tool

Paul Sasik
There's also the SQL DAC, which is disabled by default in Express but can be enabled by stopping, adding a parameter to the SQL Express service, and then starting again.
CodeByMoonlight