我有一系列從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