- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
sql创建各类用户
sql创建各类用户
SQL code
创建角色,用户,权限
/*--示例说明
示例在数据库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
SQL code
--1. 创建示例环境。
首先使用下面的代码创建一个登录l_test,并且为登录在数据库pubs中创建关联的用户账户u_test,并且授予用户账户u_test对表titles的SELECT权限,用以实现登录l_test连接到SQL Server实例后,可以访问表titles。然后创建了一个应用程序角色r_p_test,授予该角色对表jobs的SELECT权限,用以实现激活r_p_test时,允许访问特定的表jobs。
USE pubs
--创建一个登录 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 对 titles 表的 SELECT 权限
GRANT SELECT ON titles TO u_test
--创建一个应用程序角色 r_p_test, 密码 abc
EXEC sp_addapprole r_p_test,abc
--授予角色 r_p_test 对 jobs 表的 SELECT 权限
GRANT SELECT ON jobs TO r_p_test
GO
--2. 激活应用程序角色。
/*--激活说明
示例环境创建完成后,在任何地方(比如查询分析器、应用程序)
使用登录l_test连接SQL Server实例,均只能访问表titles,或者是guest用户
和public角色允许访问的对象。
如果要在某些特定的应用程序中,允许登录访问表jobs,那么,
可以激活应用程序角色r_p_test,激活应用程序角色后,登录本身的权限会消失。
下面在查询分析器中登录,演示激活应用程序角色r_p_test前后对数据访问的区别。
--*/
--激活应用程序角色 r_p_test 前,登录具有表 titles 的访问权,但无表 jobs 的访问权
SELECT titles_count=COUNT(*) FROM titles
SELECT jobs_count=CO
原创力文档


文档评论(0)