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