2012-10-03 76 views
0

專家sql服務器更改權限

我正在嘗試爲我們的IT團隊設置權限。我們所有的IT員工都是I.T集團的成員。對於有問題的數據庫,IT員工組是db_reader,db_reader的成員,並且可以執行所有SP/Fun。一個特定的用戶我想授予修改對象的權限。

CREATE USER [S\Al] FOR LOGIN [S\Al] WITH DEFAULT_SCHEMA=[dbo] 

加入他db_ddlAmin角色

EXEC sp_addrolemember N'db_ddladmin', N'S\Al' 

在我們的數據庫中的所有對象屬於DBO schema..so我已經給上dbo架構ALTER權限給用戶

GRANT ALTER ON SCHEMA::[dbo] TO [S\Al] 

但是當這個用戶試圖修改一個sp或刪除一個表時,他會得到

不能改變過程' XX',因爲它不存在或者你沒有權限。 不能刪除表'XX',因爲它不存在或您沒有權限。

此用戶可以創建一個新表,但如果他試圖放棄新創建的表,他得到的權限錯誤..

該用戶的所在組或者是的db_owner的成員,另外4組成員或db_ddladmin角色,

什麼我做錯了,我怎麼能解決這個..

感謝

VT

+0

做他們的成員的任何組有任何明確的'DENY's? 'DENY'總是勝過'GRANT'。 –

回答

0

個成員的​​角色應該能夠修改存儲過程。

確保您在正確的數據庫中添加用戶的角色:

use YourDatabase; 
EXEC sp_addrolemember N'db_ddladmin', N'S\Al' 

沒有一個明確的use,你很可能使他的master數據庫的db_dlladmin角色的成員!