我試圖創建一個角色,以授予少數用戶創建和更改視圖,過程和表的權限。 我不希望這些用戶能夠選擇/更新/刪除/更改等任何表在數據庫中,有我們想要保持控制的表 - 但他們應該有任何對象的完全權限他們應該創建。用戶/角色可以創建表或視圖,但不能從中選擇SQL Server 2008 - 所有權不傳遞給創建者
我已經給了用戶創建視圖等的權限,並且工作正常,但他們不能從他們然後創建的視圖中選擇。是否有可能做到這一點?
- 加入25/7/2013
示例: 的示例用戶麥克有授予表的少數特定權限。所有格蘭特,不拒絕。 其他數據庫級別的權限超出了「連接」 Plus是公共的成員(沒有改變 - 不丹尼斯),加上其他3個角色,我們已經建立了
角色:Standard_Reader在多個表 具體選擇權限。所有格蘭特,不拒絕。 沒有其他數據庫級別權限
作用:SensitiveDemographicsReader 對敏感表的特定選擇權限。所有格蘭特,沒有拒絕
角色:分析師 沒有具體的安全對象 數據庫級別的權限: 創建函數 CREATE PROCEDURE 創建表 創建視圖
此用戶可以創建一個表或視圖,但是一旦創建,無法從中選擇。
是否有可能設置SQL服務器,使得只要用戶用戶創建表或視圖那麼他們的權限,從它選擇(假設他們有上下層鑑於表的權限)
- EDIT
經過一番調查發現,由於某種原因,在我們的數據庫中,對象的所有權對他們的創建者來說並不算什麼。
使用此代碼
select so.name, su.name, so.crdate from sysobjects so join sysusers su on so.uid = su.uid
order by so.crdate
所有的業主,一對夫婦的異常被發現DBO。
我不明白爲什麼所有權不傳遞給對象的創造者。任何想法可能導致這種情況?
感謝這個,但是我怕我使用MS SQL Server 2008中而不是MySQL – DanBennett
您是否有興趣使用'GRANT SELECT ON(表名)TO(用戶名)'命令,例如? – sdweldon
在此基礎上,很難否定您構成劍客的機智,但在您的渴望使用它你已經錯過了這一點 - 這裏的目標是創建桌子的用戶可以在沒有干預的情況下訪問它,只有幾個系統可以e可以根據所有權自動設置對象的不同安全性 - 在創建對象時將所有權分配給創建者。我想知道這是否可能在SQL中。 – DanBennett