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

一、需求

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

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

二、操作步骤

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

(图1:新建登录名)

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

(图2:设置选项)

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

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

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

(图4:选择对应表)

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

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

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

(图6:权限列表)

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

(图7:效果)

三、注意事项

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

(图8:找不到TestUser用户)

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

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

(图9:删除TestUser用户)

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

(图10:效果)

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

(图11:其它对象类型)

(0)

相关推荐

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

    一.需求 在管理数据库过程中,我们经常需要控制某个用户访问数据库的权限,比如只需要给这个用户访问某个表的权限,甚至是CRUD的权限,更小粒度的还可以去到某几个字段的访问权限.写这篇文章就是说明下这个操作过程. 其实这只是SQL Server权限管理很简单的一小块,有些地方并没有深入理解和讲述,只是希望对一些刚入门的童鞋有帮助,其它大侠就当是:我当堂吓一跳,然后得啖笑.(赌圣) 二.操作步骤 1. 首先进入数据库级别的[安全性]-[登录名]-[新建登录名] (图1:新建登录名) 2. 在[常规]选

  • Windows 2000 FSO权限设置 图文教程第1/3页

    可以对服务器硬盘上的任何文件进行读.写.复制.删除.改名等操作(当然,这是指在使用默认设置的 Windows NT / 2000 下才能做到).但是禁止此组件后,引起的后果就是所有利用这个组件的 ASP 将无法运行,无法满足客户的需求. 如何既允许 FileSystemObject 组件,又不影响服务器的安全性(即:不同虚拟主机用户之间不能使用该组件读写别人的文件)呢?这里介绍本人在实验中获得的一种方法,下文以 Windows 2000 Server 为例来说明. 在服务器上打开资源管理器,用鼠

  • sqlserver建立新用户及关联数据库教程

    我们经常需要在数据库上建立有权限的用户,该用户只能去操作某个特定的数据库(比如该用户只能去读,去写等等),那么我们应该怎么在sqlserver上设置呢?下面的步骤有点长,只要一步一步跟着设置就行 方法/步骤 如果你没有开通sqlserver身份验证,首先windowns身份进入管理系统开通 属性-右键-安全性-开通即可 然后需要重新启动(在右键总结点里面) 接着在安全性-登入名-添加新登入名 输入用户名,密码:密码最好启用强制实施密码策略 然后再在你要开通用户权限的数据库里面找到安全性-右键-新

  • mysql创建用户并赋予用户权限详细操作教程

    用户管理 新建用户 语法 CREATE USER 'username'@'localhost' IDENTIFIED BY 'password' 示例 mysql> create user 'lisi'@'localhost' identified by '123123'; Query OK, 0 rows affected (0.00 sec) username:将创建的用户名 localhost:指定用户那些主机上可以登录,可登录的IP地址,网段,主机名,如果是本机可以用localhost,

  • mongodb基础之用户权限管理实例教程

    前言 本文主要介绍了mongodb用户权限管理的相关内容,关于接着上次实践的部分,下面话不多说了,来一起看看详细的介绍吧 启动mongodb并连接 ./bin/mongod -f conf/mongod.conf ./bin/mongo 127.0.0.1:12345 查看默认的数据库情况 > show dbs admin 0.000GB local 0.000GB > use admin switched to db admin > show tables system.version

  • sqlserver数据库导入方法的详细图文教程

    目录 第一种方法: 第二种方法: 总结 第一种方法: ****1.****打开SQL Server,写好登录名和密码点击连接. ****2.****打开数据库,右键某一个数据库,选择“新建查询(Q)”. ****3.****再代码界面输入如下代码,点击F5键或者点击运行按钮即可. 代码如下: EXEC sp_attach_db @dbname = '你的数据库名', @filename1 = 'mdf文件路径(包缀名)', @filename2 = 'Ldf文件路径(包缀名)' ****4.**

  • IIS无法运行asp的NTFS权限设置图文教程

    因为现在在家里有点空,下面就详细写一下在Windows XP简体专业版下设置IIS的权限(如果网站所在的分区不是NTFS文件系统就不用设置权限,在分区的属性里可以查看是什么文件系统),对于Windows 2000/2003同样适用.以C:\wwwroot文件夹演示. 右键点击wwwroot目录,选择"属性",可能会出现下图所示情况,没有"安全"标签. 如果没有"安全"标签,请先进行"文件夹选项"设置,如果有了则跳过.1.&qu

  • SQLServer导出数据库字典的详细图文教程

    SQL 直接修改带注释那行的表名称即可. SELECT 表名=case when a.colorder=1 then d.name else '' end, 表说明=case when a.colorder=1 then isnull(f.value,'') else '' end, 字段序号=a.colorder, 字段名=a.name, 标识=case when COLUMNPROPERTY(a.id,a.name,'IsIdentity')=1 then '√'else '' end, 主

  • 基于角色的权限控制模型RBAC图文教程

    目录 一.RBAC权限模型简介 二.RBAC的演化进程 2.1.用户与权限直接关联 2.2.一个用户拥有一个角色 2.3一个用户一个或多个角色 三.页面访问权限与操作权限 四.数据权限 我们开发一个系统,必然面临权限控制的问题,即不同的用户具有不同的访问.操作.数据权限.形成理论的权限控制模型有:自主访问控制(DAC: Discretionary Access Control).强制访问控制(MAC: Mandatory Access Control).基于属性的权限验证(ABAC: Attri

  • sql server 2005数据库备份还原图文教程

    首先.点击桌面的"SQL Server Management Studio"打开,sql2005的管理器,点击"连接"登录,如图: 一.新建数据库 1.新建数据库 右键点击"数据库"--"新建数据库",如图: MSSQL2005备份还原图文教程 填写数据库名,如mydata,选择数据库保存路径,一般可以保持默认地址,点击"确定". 2.新建用户 右键点击"安全性"--"登录名&

随机推荐