November 1, 2012 at 12:25 pm
I have a user that just received a new computer and is now is getting the error "The EXECUTE permission was denied on the object 'xp_instance_regread'" on one particular instance. They are getting the error when they try to right click on a table name in object explorer. This isn't all that confusing in and of itself, except that they only get it when connecting from their new machine. Their old machine will still works just fine. They don't get the error when connected to other instances either.
Because they don't get the error when connected from another machine it doesn't appear to be a sql server permissions problem. I can grant them execute on the xp but I'm afraid that is just bandaiding the problem and we are going to see more issues in the future if the real problem isn't found and corrected.
Any help or even a direction to look would be appreciated.
Kenneth FisherI was once offered a wizards hat but it got in the way of my dunce cap.--------------------------------------------------------------------------------For better, quicker answers on T-SQL questions, click on the following... http://www.sqlservercentral.com/articles/Best+Practices/61537/[/url]For better answers on performance questions, click on the following... http://www.sqlservercentral.com/articles/SQLServerCentral/66909/[/url]Link to my Blog Post --> www.SQLStudies.com[/url]
November 1, 2012 at 8:31 pm
Kenneth.Fisher (11/1/2012)
I have a user that just received a new computer and is now is getting the error "The EXECUTE permission was denied on the object 'xp_instance_regread'" on one particular instance. They are getting the error when they try to right click on a table name in object explorer. This isn't all that confusing in and of itself, except that they only get it when connecting from their new machine. Their old machine will still works just fine. They don't get the error when connected to other instances either.Because they don't get the error when connected from another machine it doesn't appear to be a sql server permissions problem. I can grant them execute on the xp but I'm afraid that is just bandaiding the problem and we are going to see more issues in the future if the real problem isn't found and corrected.
Any help or even a direction to look would be appreciated.
If the DB is owned by someone and the database was put on the new machine using a RESTORE, you'll need to change the owership to someone else and then back to the original owner to get the SID to sync up.
--Jeff Moden
Change is inevitable... Change for the better is not.
November 2, 2012 at 2:07 pm
The new machine is their desktop, not the server. The databases should all be the same as they have been.
Kenneth FisherI was once offered a wizards hat but it got in the way of my dunce cap.--------------------------------------------------------------------------------For better, quicker answers on T-SQL questions, click on the following... http://www.sqlservercentral.com/articles/Best+Practices/61537/[/url]For better answers on performance questions, click on the following... http://www.sqlservercentral.com/articles/SQLServerCentral/66909/[/url]Link to my Blog Post --> www.SQLStudies.com[/url]
November 2, 2012 at 3:16 pm
By default public has exec on xp_instance_regread.
Have you revoked exec?
If it is a new PC, is the version of the client the same?
Are we sure the user is connecting to SAME instance from both machines? No aliases on the old machine?
I would check the default trace on the instance and look at the entry where exec is failing. There may be some info there that may help you.
April 25, 2016 at 6:34 pm
I am having the same problem, please post the solution if you resolved. Thanks
December 10, 2016 at 8:11 pm
I have seen this in Oracle once and the problem a missing system variable under environmental variable on the computer. I would compare the two
Go to system properties > Advanced > Environmental Variables and compare the "system variables" add any missing
Also see if there is a difference in the account the user is using when logging in on the different machine
you can also try running
Grant execute on xp_regread to public
Grand execute on xp_instance_regread to public
or
Grant execute on xp_regread to domain/username
Grand execute on xp_instance_regreat to domain/user
maybe as part of hardening someone has revoked these
I hope this helps
Jeff
Viewing 6 posts - 1 through 5 (of 5 total)
You must be logged in to reply to this topic. Login to reply