【发布时间】:2011-03-25 21:17:34
【问题描述】:
我有一系列从数据库中选择数据的存储过程。我有一个角色 (cctc_reader),它具有对程序授予的执行权限。其中一个过程调用另一个名为recControl_system_option 的存储过程,后者又查询Information_schema.columns。
问题是在这个过程中查询
select column_name from information_schema.columns where table_name = 'recControl_manager'
不返回任何记录。 cctc_reader 具有以下权限:
- 每个选择过程
recControl_system_option
所以理论上这应该有效。在 dbo 下运行时我没有问题。
如果我将 db_datareader 授予 cctc_reader 查询很好,但我不想授予所有表的读取器权限(因此我使用存储过程)。我已尝试按照某些文章中的建议授予对 Master db 中 Information_schema 的 Select 权限,但仍然无法使其正常工作。
有什么建议吗?
【问题讨论】:
标签: sql-server sql-server-2008 permissions information-schema