手机
当前位置:查字典教程网 >编程开发 >mssql数据库 >SQLServer 2005 控制用户权限访问表图文教程
SQLServer 2005 控制用户权限访问表图文教程
摘要:一、需求在管理数据库过程中,我们经常需要控制某个用户访问数据库的权限,比如只需要给这个用户访问某个表的权限,甚至是CRUD的权限,更小粒度的...

一、需求

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

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

二、操作步骤

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

SQLServer 2005 控制用户权限访问表图文教程1

(图1:新建登录名)

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

SQLServer 2005 控制用户权限访问表图文教程2

(图2:设置选项)

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

SQLServer 2005 控制用户权限访问表图文教程3

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

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

SQLServer 2005 控制用户权限访问表图文教程4

(图4:选择对应表)

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

SQLServer 2005 控制用户权限访问表图文教程5

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

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

SQLServer 2005 控制用户权限访问表图文教程6

(图6:权限列表)

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

SQLServer 2005 控制用户权限访问表图文教程7

(图7:效果)

三、注意事项

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

SQLServer 2005 控制用户权限访问表图文教程8

(图8:找不到TestUser用户)

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

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

SQLServer 2005 控制用户权限访问表图文教程9

(图9:删除TestUser用户)

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

SQLServer 2005 控制用户权限访问表图文教程10

(图10:效果)

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

SQLServer 2005 控制用户权限访问表图文教程11

(图11:其它对象类型)

【SQLServer 2005 控制用户权限访问表图文教程】相关文章:

SQLServer 2005 列所有存储过程的语句

SQL Server 2008空间数据使用教程

SQLServer2005 中的几个统计技巧

SQL Server 2005 返回修改后的数据

配置 SQLServer2005 以允许远程连接

SQL Server 2005使用的网络协议

sqlserver 2005 无法在服务器上访问指定的路径或文件

SQLServer2005 的查询独占模拟

Sql Server 2005 默认端口修改方法

SQL Server 表交叉显示及实现方法

精品推荐
分类导航