登录  /  注册
SQL Server 2005 控制用户权限访问表
php中文网
发布: 2016-06-07 16:23:04
原创
599人浏览过

一、需求 在管理数据库过程中,我们经常需要控制某个用户访问数据库的权限,比如只需要给这个用户访问某个表的权限,甚至是CRUD的权限,更小粒度的还可以去到某几个字段的访问权限。写这篇文章就是说明下这个操作过程。 其实这只是SQL Server权限管理很简单

  一、需求

  在管理数据库过程中,我们经常需要控制某个用户访问数据库的权限,比如只需要给这个用户访问某个表的权限,甚至是CRUD的权限,更小粒度的还可以去到某几个字段的访问权限。写这篇文章就是说明下这个操作过程。

  其实这只是SQL Server权限管理很简单的一小块,有些地方并没有深入理解和讲述,只是希望对一些刚入门的童鞋有帮助,其它大侠就当是:我当堂吓一跳,然后得啖笑。(赌圣)

  二、操作步骤

  1. 首先进入数据库级别的【安全性】-【登录名】-【新建登录名】

SQL Server 2005 控制用户权限访问表

  (图1:新建登录名)

  2. 在【常规】选项卡中,如下图所示,创建登陆名,并设置默认的数据库

SQL Server 2005 控制用户权限访问表

  (图2:设置选项)

  3. 在【用户映射】选项卡中,如下图所示,勾选需要设置的数据库,并设置【架构】,点击【确认】按钮,完成创建用户的操作

  (图3:选择对应数据库)

  4. 现在我们就可以对TestLog数据库中的User表进行权限的设置了,【表】-【 属性】

SQL Server 2005 控制用户权限访问表

  (图4:选择对应表)

  5. 在【权限】选项卡中,如下图所示,依此点击【添加】-【浏览】-【选择对象】

SQL Server 2005 控制用户权限访问表

  (图5:设置访问表的用户)

  6. 在上面点击【确认】后,我们就可以下面的列表中找到对应的权限,如果你还想细化到列的权限的话,右下角还有一个【列权限】的按钮可以进行设置,点击【确认】按钮就完成了这些权限的设置了

SQL Server 2005 控制用户权限访问表

  (图6:权限列表)

  7. 现在就使用TestUser用户登陆数据库了,登陆后如下图所示,现在只能看到一个表了

SQL Server 2005 控制用户权限访问表

  (图7:效果)

  三、注意事项

  1. 在上面的第3步骤中需要注意:如果这里没有选择对应的数据库的话,之后去TestLog数据库中是找不到TestUser。

SQL Server 2005 控制用户权限访问表

  (图8:找不到TestUser用户)

  2. 在上面的第3步骤,设置完TestLog数据后,需要点击【确认】按钮,完成创建用户操作,如果这个时候去设置【安全对象】,是无法在【添加】-【特定对象】-【对象类型】-【登陆名】-【浏览】中找到刚刚新建的TestUser用户的。

  3. 其实在数据库级别的【安全性】创建的用户是属于全局的,当设置了某个数据库,比如TestLog之后,,这个用户就会出现在这个数据库的【安全性】列表中。 如果删除TestLog这个用户,会出现下面的提示。删除了后,这个用户就无法登陆了。需要去对应的数据库中删除用户,如果没有删除又创建,是会报错的。

SQL Server 2005 控制用户权限访问表

  (图9:删除TestUser用户)

  4. 在第6步的【显式权限】列表中,如果选择了【Control】这个选项,那么在【Select】中设置查询【列权限】就没有意义了,查询就不会受限制了。如果设置【列权限】,在正常情况下会显示下图的报错信息:

SQL Server 2005 控制用户权限访问表

  (图10:效果)

  5. 在TestLog数据库的【安全性】-【TestUser】-【属性】-【安全对象】-【添加】-【对象类型】这里有更多关于数据库级别的一些对象类型可以设置。

SQL Server 2005 控制用户权限访问表

  (图11:其它对象类型)

  (来源: 作者:听风吹雨)

相关标签:
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 技术文章
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2023 //m.sbmmt.com/ All Rights Reserved | 苏州跃动光标网络科技有限公司 | 苏ICP备2020058653号-1

 | 本站CDN由 数掘科技 提供

登录PHP中文网,和优秀的人一起学习!
全站2000+教程免费学