我搜索了一個已經存在但找不到的相關問題。查看管理工作室中的表格列表所需的權限
我正在爲我們的服務器場中的一些數據庫設置只讀數據庫角色。下面是一個表的權限的示例:
GRANT SELECT ON [dbo].[Table] TO [ReadOnly]
GRANT VIEW DEFINITION ON [dbo].[Table] TO [ReadOnly]
DENY ALTER ON [dbo].[Table] TO [ReadOnly]
DENY CONTROL ON [dbo].[Table] TO [ReadOnly]
DENY DELETE ON [dbo].[Table] TO [ReadOnly]
DENY INSERT ON [dbo].[Table] TO [ReadOnly]
DENY REFERENCES ON [dbo].[Table] TO [ReadOnly]
DENY TAKE OWNERSHIP ON [dbo].[Table] TO [ReadOnly]
DENY UPDATE ON [dbo].[Table] TO [ReadOnly]
這工作按預期的SELECT權限...我能ONLY SELECT數據,這是exactky我想要的。
但是,我無法在Management Studio中的指定數據庫的「表」選項卡中看到表的列表。我與這個用戶的目標是向一些不熟悉SQL的用戶提供他們可以用來提取數據並開始嘗試SQL的登錄。這些用戶對統計處理語言SAS有豐富的經驗,所以他們在處理代碼方面有一定的經驗,但在SQL中並沒有太多的使用,特別是。
哪些權限將在Management Studio中顯示錶列表?
這特別令人不安......我的印象是,VIEW DEFINITION是查看數據庫元數據所需的全部。 – karlgrz
這是您需要的唯一權限 - 您明確拒絕對同一用戶的其他可繼承權限,這是重寫GRANT(DENY總是優先於GRANT)。更改爲REVOKE,您將看到SSMS中的對象(請參閱下面的答案) – chadhoc