SQL学习笔记五:脚本创建角色、用户以及相关操作

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 '

你可能感兴趣的:(学习笔记)