sql server數據庫建立用戶、登錄名、角色、權限

/*--示例說明 示例在數據庫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'
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章