SQL2000創(chuàng)建角色示例
下面為您介紹的例子實現(xiàn)了SQL2000創(chuàng)建角色,如果您對SQL2000創(chuàng)建角色方面感興趣的話,不妨一看,相信對您會有所啟迪。
示例說明
示例在數(shù)據(jù)庫pubs中創(chuàng)建一個擁有表jobs的所有權(quán)限、擁有表titles的SELECT權(quán)限的角色r_test,隨后創(chuàng)建了一個登錄l_test,然后在數(shù)據(jù)庫pubs中為登錄l_test創(chuàng)建了用戶賬戶u_test。同時將用戶賬戶u_test添加到角色r_test中,使其通過權(quán)限繼承獲取了與角色r_test一樣的權(quán)限,***使用DENY語句拒絕了用戶賬戶u_test對表titles的SELECT權(quán)限。
經(jīng)過這樣的處理,使用l_test登錄SQL Server實例后,它只具有表jobs的所有權(quán)限。
- --*/
- USE pubs
- --創(chuàng)建角色 r_test
- EXEC sp_addrole 'r_test'
- --授予 r_test 對 jobs 表的所有權(quán)限
- GRANT ALL ON jobs TO r_test
- --授予角色 r_test 對 titles 表的 SELECT 權(quán)限
- GRANT SELECT ON titles TO r_test
- --添加登錄 l_test,設(shè)置密碼為pwd,默認數(shù)據(jù)庫為pubs
- EXEC sp_addlogin 'l_test','pwd','pubs'
- --為登錄 l_test 在數(shù)據(jù)庫 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 權(quán)限
- DENY SELECT ON titles TO u_test
- /*--完成上述步驟后,用 l_test 登錄,可以對jobs表進行所有操作,但無法對titles表查詢,雖然角色 r_test 有titles表的select權(quán)限,但已經(jīng)在安全賬戶中明確拒絕了對titles的select權(quán)限,所以l_test無titles表的select權(quán)限--*/
- --從數(shù)據(jù)庫 pubs 中刪除安全賬戶
- EXEC sp_revokedbaccess 'u_test'
- --刪除登錄 l_test
- EXEC sp_droplogin 'l_test'
- --刪除角色 r_test
- EXEC sp_droprole 'r_test'
【編輯推薦】