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

时间:2024-01-28 02:10:57 

一、需求

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

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

二、操作步骤

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

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

(图1:新建登录名)

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

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

(图2:设置选项)

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

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

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

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

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

(图4:选择对应表)

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

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

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

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

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

(图6:权限列表)

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

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

(图7:效果)

三、注意事项

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

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

(图8:找不到TestUser用户)

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

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

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

(图9:删除TestUser用户)

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

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

(图10:效果)

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

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

(图11:其它对象类型)

标签:用户权限,访问表
0
投稿

猜你喜欢

  • SQL Server 2005 Management Studio Express企业管理器将英文变成简体中文版的实现方法

    2024-01-27 23:35:38
  • 解决Python3 控制台输出InsecureRequestWarning问题

    2021-08-04 21:17:57
  • python 使用pygame工具包实现贪吃蛇游戏(多彩版)

    2021-05-10 17:29:19
  • Vue $emit()不能触发父组件方法的原因及解决

    2024-05-28 16:10:26
  • Python面向对象之继承代码详解

    2022-03-11 03:04:24
  • Android通过PHP服务器实现登录功能

    2023-07-02 07:08:58
  • 基于KL散度、JS散度以及交叉熵的对比

    2021-05-05 01:27:07
  • 通过实例简单了解Python sys.argv[]使用方法

    2022-09-12 14:14:35
  • Python中使用ConfigParser解析ini配置文件实例

    2021-06-18 01:41:44
  • python pandas模糊匹配 读取Excel后 获取指定指标的操作

    2022-07-24 07:48:32
  • Django-Scrapy生成后端json接口的方法示例

    2021-07-16 18:46:46
  • Python语言生成水仙花数代码示例

    2022-11-16 18:17:48
  • python用Configobj模块读取配置文件

    2023-10-30 04:29:00
  • Python实现识别图片为文字的示例代码

    2022-01-02 14:57:48
  • 使用PYTHON创建XML文档

    2022-08-19 02:26:53
  • 基于Python编写简易的成语接龙游戏

    2022-08-26 02:15:05
  • python命令行参数解析OptionParser类用法实例

    2022-06-21 17:57:24
  • Python实现周期性抓取网页内容的方法

    2023-04-12 01:33:36
  • ul设置浮动后不能自适应高度

    2011-01-25 12:48:00
  • HTML+CSS+JS实现完美兼容各大浏览器的TABLE固定列

    2024-04-29 13:38:31
  • asp之家 网络编程 m.aspxhome.com