So I'm not finding an answer to my specific issue.

  • SQL Server 2012 database
  • SSMS 17 admin tool

Log on as a database (not domain) user foo.

Receive sys.xp_instance_regread no permission errors.

In past versions of SSMS you get the errors, but you can do your work on your database.

I've seen this before, the user needs execute permission on the stored procedure. Shoot I even have a script I use all the time for domain users

Grant Execute ON [sys].[xp_instance_regread] TO [domain\user];

So I modify it:

Grant Execute ON [sys].[xp_instance_regread] TO [foo];

but get this error:

Msg 15151, Level 16, State 1, Line 1
Cannot find the user 'foo', because it does not exist or you do not have permission.

Now the user exists and my account has sysadmin access.

Any ideas on how to fix this?

2 Answers 2


So if anyone is curious the fast answer was to go into the UI and add the foo user to master thru the user mapping tab.

Wonder why?


Make sure there is an user mapping for your login in the master table.

No database role memberships are required, just tick 'Map' for the database master under User Mapping in the properties for the login UserName.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.