我有一系列从db中选择数据的存储过程。我有一个角色(cctc_reader),具有对这些过程授予的执行权限。其中一个过程调用另一个名为recControl_system_option
的存储过程,该过程又查询Information_schema.columns
。SQL Server 2008授予information_schema.columns的权限
的问题是,在这个PROC查询
select column_name from information_schema.columns where table_name = 'recControl_manager'
不返回任何记录。 cctc_reader有权限授予上:
- 每个选择PROC
recControl_system_option
所以理论上这应该工作。在dbo下运行时我没有问题。
如果我将db_datareader授予cctc_reader,查询很好,但我不想授予读者对所有表的权限(因此我为什么使用存储的特效)。我已经尝试按照某些文章中的建议授予对主数据库中的Information_schema的选择权限,但仍无法使其工作。
有什么建议吗?
太棒了!感谢您的意见。我已经研究出如何解决这个问题,并且给了我很多想法......。 – pilsdumps 2010-08-05 16:04:50