SQL2000創建角色示例
作者:佚名
下文以示例的形式為您介紹了如何在SQL2000創建角色,供您參考,如果您遇到過類似的問題,不妨看看,對您會有所幫助。
下面為您介紹的例子實現了SQL2000創建角色,如果您對SQL2000創建角色方面感興趣的話,不妨一看,相信對您會有所啟迪。
示例說明
示例在數據庫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'
【編輯推薦】
責任編輯:段燃
來源:
互聯網