/*--示例說明
示例在資料庫pubs中建立乙個擁有表jobs的所有許可權、擁有表titles的select許可權的角色r_test
隨後建立了乙個登入l_test,然後在資料庫pubs中為登入l_test建立了使用者賬戶u_test
同時將使用者賬戶u_test新增到角色r_test中,使其通過許可權繼承獲取了與角色r_test一樣的許可權
最後使用deny語句拒絕了使用者賬戶u_test對錶titles的select許可權。
經過這樣的處理,使用l_test登入sql server例項後,它只具有表jobs的所有許可權。
--*/
use pubs
--建立角色 r_test
exec sp_addrole 'r_test'
--授予 r_test 對 jobs 表的所有許可權
grant all on jobs to r_test
--授予角色 r_test 對 titles 表的 select 許可權
grant select on titles to r_test
--新增登入 l_test,設定密碼為pwd,預設資料庫為pubs
exec sp_addlogin 'l_test','pwd','pubs'
--為登入 l_test 在資料庫 pubs 中新增安全賬戶 u_test
exec sp_grantdbaccess 'l_test','u_test'
--新增 u_test 為角色 r_test 的成員
exec sp_addrolemember 'r_test','u_test'
--拒絕安全賬戶 u_test 對 titles 表的 select 許可權
deny select on titles to u_test
/*--完成上述步驟後,用 l_test 登入,可以對jobs表進行所有操作,但無法對titles表查詢,雖然角色 r_test 有titles表的select許可權,但已經在安全賬戶中明確拒絕了對titles的select許可權,所以l_test無titles表的select許可權--*/
--從資料庫 pubs 中刪除安全賬戶
exec sp_revokedbaccess 'u_test'
--刪除登入 l_test
exec sp_droplogin 'l_test'
--刪除角色 r_test
exec sp_droprole 'r_test'
SQLServer控制使用者訪問許可權表
一 需求 在管理資料庫過程中,我們經常需要控制某個使用者訪問資料庫的許可權,比如只需要給這個使用者訪問某個表的許可權,甚至是crud的許可權,更小粒度的還可以去到某幾個欄位的訪問許可權。寫這篇文章就是說明下這個操作過程。二 操作步驟 1.首先進入資料庫級別的 安全性 登入名 新建登入名 2.在 常規...
SQL SERVER 檢視使用者許可權
使用者與角色關係 select a.uid as uid,a.status as ustatus,a.name as uname,b.uid as rid,b.status as rstatus,b.name as rname from sysusers a left join sysmembers...
控制使用者訪問 使用者和許可權
控制使用者訪問 在多使用者環境中,要維護資料庫訪問和使用的安全性。通過oracle伺服器資料庫安全性,可以執行以下任務 1.控制資料庫訪問 2.授予對資料庫中特定物件的訪問許可權 3.通過oracle資料字典確認給定的和接收的許可權 4.為資料庫物件建立同義詞 資料庫的安全性可以分為以下兩類 系統安...