SQL Server 2005数据库用户权限管理的设置

数据库 SQL Server
在管理数据库过程中,我们经常需要控制某个用户访问数据库的权限。在SQL Server 2005数据库中,要想控制某个用户访问数据库的权限,只需要进行简单的设置即可实现。本文介绍了这一过程的设置,希望会对读者有所帮助。

SQL Server 2005数据库中,我们可以设置每个用户对应的权限,以提高数据库的安全性。这类用户权限设置的应用非常广泛。比如设置某个用户访问某个表的权限,甚至是CRUD的权限,更小粒度的还可以去到某几个字段的访问权限等等。其实这一设置过程是很简单的,接下来就让我们来一起学习吧。

一、操作步骤

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

SQL Server 2005数据库用户权限管理的设置

(图1:新建登录名)

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

SQL Server 2005数据库用户权限管理的设置

(图2:设置选项)

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

SQL Server 2005数据库用户权限管理的设置

(图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:其它对象类型)

关于SQL Server 2005数据库用户权限设置就介绍到这里,如果想了解更多SQL Server数据库的知识,这里的文章很有用:http://database.51cto.com/sqlserver/,千万不要错过哦!

【编辑推荐】

  1. 在Sql Server 2005中导出登录用户信息脚本
  2. 使用SQL Trace来实现SQL Server的跟踪操作
  3. CTE和WITH AS短语结合使用提高SQL查询性能
  4. 简述删除SQL SERVER 2000数据库日志的两种方法
  5. 在SQL SERVER 2005执行存储过程的权限分配问题
责任编辑:赵鹏 来源: 博客园
相关推荐

2010-07-22 14:46:41

SQL Server

2010-06-28 10:06:09

SQL Server数

2011-08-30 16:52:22

IP访问SQL Ser

2010-07-07 15:04:10

SQL Server

2010-07-08 15:26:05

SQL Server

2010-07-12 12:41:16

SQL Server

2010-12-23 14:45:57

SQL Server

2011-08-22 09:55:30

SQL Server 排序

2010-06-18 13:52:24

SQL Server查

2010-07-02 10:47:20

SQL Server

2011-08-15 15:40:57

SQL Server 系统数据库

2010-06-30 13:19:17

SQL Server

2009-04-30 09:56:29

微软SQL Server 缓存依赖

2010-07-20 10:02:41

SQL Server

2011-03-28 15:28:03

SQL Server 数据库

2010-07-16 14:17:18

SQL Server

2011-08-11 09:12:31

SQL Server nolock

2011-08-25 13:10:44

SQL Server 设置自动编号字段

2010-07-02 10:27:20

SQL Server

2011-09-07 15:11:31

SQL Server同步
点赞
收藏

51CTO技术栈公众号