SQL Server 2005 控制用户权限访问表
%3Cp%3E1、需求
在治理数据库进程中,我们常常需要控制某个用户访问数据库的权限,比如只需要给这个用户访问某个表的权限,乃至是CRUD的权限,更小粒度的还可以往到某几个字段的访问权限。写这篇文章就是说明下这个操纵进程。
实在这只是SQL Server权限治理很简单的1小块,有些地方并没有深进理解和讲述,只是希看对1些刚进门的童鞋有帮助,其它大侠就当是:我当堂吓1跳,然后得啖笑。(赌圣)
2、操纵步骤
1. 首先进进数据库级别的【安全性】-【登录名】-【新建登录名】
(图1:新建登录名)
2. 在【常规】选项卡中,以下图所示,创建登陆名,并设置默许的数据库
(图2:设置选项)
3. 在【用户映照】选项卡中,以下图所示,勾选需要设置的数据库,并设置【架构】,点击【确认】按钮,完成创建用户的操纵
(图3:选择对应数据库)
4. 现在我们便可以够对TestLog数据库中的User表进行权限的设置了,【表】-【 属性】
(图4:选择对应表)
5. 在【权限】选项卡中,以下图所示,依此点击【添加】-【浏览】-【选择对象】
(图5:设置访问表的用户)
6. 在上面点击【确认】后,我们便可以够下面的列表中找到对应的权限,假设你还想细化到列的权限的话,右下角还有1个【列权限】的按钮可以进行设置,点击【确认】按钮就完成了这些权限的设置了
(图6:权限列表)
7. 现在就使用TestUser用户登陆数据库了,登陆后以下图所示,现在只能看到1个表了
(图7:效果)
3、留意事项
1. 在上面的第3步骤中需要留意:假设这里没有选择对应的数据库的话,以后往TestLog数据库中是找不到TestUser。
(图8:找不到TestUser用户)
2. 在上面的第3步骤,设置完TestLog数据后,需要点击【确认】按钮,完成创建用户操纵,假设这个时候往设置【安全对象】,是没法在【添加】-【特定对象】-【对象类型】-【登陆名】-【浏览】中找到刚刚新建的TestUser用户的。
3. 实在在数据库级别的【安全性】创建的用户是属于全局的,当设置了某个数据库,比如TestLog以后,这个用户就会出现在这个数据库的【安全性】列表中。假设删除TestLog这个用户,会出现下面的提示。删除后,这个用户就没法登陆了。需要往对应的数据库中删除用户,假设没有删除又创建,是会报错的。
(图9:删除TestUser用户)
4. 在第6步的【显式权限】列表中,假设选择了【Control】这个选项,那末在【Select】中设置查询【列权限】就没故意义了,查询就不会受限制了。假设设置【列权限】,在正常情况下会显示下图的报错信息:
(图10:效果)
5. 在TestLog数据库的【安全性】-【TestUser】-【属性】-【安全对象】-【添加】-【对象类型】这里有更多关于数据库级别的1些对象类型可以设置。
(图11:其它对象类型)
(来源:http://gaizai.cnblogs.com/ 作者:听风吹雨)
http://www.fw8.net/%3C%2Fp%3ETAG:用户,数据库,权限,对象,下图
评论加载中...
|