Linked Server: EXECUTE permission denied on object 'xp_prop_oledb_provider', database 'master', owner 'dbo'
2014-06-18 09:08 潇湘隐者 阅读(2838) 评论(0) 编辑 收藏 举报问题出现环境:
使用SQL Server Management Studio 2008 连接到SQL Server 2000的数据库,点击其中一个Oracle链接服务器,单击“目录”时,Linked Server弹出如下错误信息.使用另外一个拥有sysadmin角色的账号登录检查发现没有此类问题。
错误详细信息如下所示:有用的信息只有一条:EXECUTE permission denied on object 'xp_prop_oledb_provider', database 'master', owner 'dbo'. (Microsoft SQL Server,错误: 229)
1: 标题: Microsoft SQL Server Management Studio
2: ------------------------------
3: 无法为该请求检索数据。 (Microsoft.SqlServer.Management.Sdk.Sfc)
4: 有关帮助信息,请单击: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&;LinkId=20476
5: ------------------------------
6: 其他信息:
7: 执行 Transact-SQL 语句或批处理时发生了异常。 (Microsoft.SqlServer.ConnectionInfo)
8: ------------------------------
9: EXECUTE permission denied on object 'xp_prop_oledb_provider', database 'master', owner 'dbo'. (Microsoft SQL Server,错误: 229)
10: 有关帮助信息,请单击: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&;ProdVer=08.00.2055&EvtSrc=MSSQLServer&EvtID=229&LinkId=20476
11: ------------------------------
12: 按钮:
13: 确定
14: ------------------------------
原因及解决方法:
出现这个问题是由于权限问题导致,只需要执行下面SQL语句授予相关权限即可(如果该登录名在映射关系中没有master数据库的映射关系,需要授予master数据库的public角色给该登录名),注意:login需要用具体登录名替换.
1: USE master;
2:
3: GO
4:
5: GRANT EXECUTE ON XP_PROP_OLEDB_PROVIDER TO [login];
6:
如果是SQL Server 2005 或以上版本,可以执行下面SQL语句
1: USE master;
2: GO
3:
4: EXECUTE ON SYS.XP_PROP_OLEDB_PROVIDER TO [login];
![](https://images.cnblogs.com/cnblogs_com/kerrycode/1913302/o_240731062102_kerrycode.png)
扫描上面二维码关注我
如果你真心觉得文章写得不错,而且对你有所帮助,那就不妨帮忙“推荐"一下,您的“推荐”和”打赏“将是我最大的写作动力!
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接.