SQLServer 创建只读用户和授权
为 SQLServer 创建只读用户、以及删除登录名的操作。
因为公司报表 抽数 需要,要创建一个只读权限的账号。操作环境是 Windows Server 2012 上部署的 SQLServer 11.0 数据库。所以简单进行了操作,步骤记录如下:
1、使用 Management Studio 访问 “安全性” 并新建账号。用管理员登录数据库后,在 “对象资源管理器” 中找到 “安全性”-“登录名”、右键单价新增。此时弹出新建窗口,并在“常规”选项卡中编辑用户名字和密码、选择其中一种身份认证。
如上图所示,当选择了某个默认数据库、登录后将默认打开。
2、设置服务器角色。
一般勾选 public 角色就够了,除非你需要创建数据库或者其他功能的权限。角色名字和功能是对应的,请按需选择。
3、设置“用户映射”。
首先勾选某个要映射的数据库,然后看下默认架构。在对应勾选的映射中、“默认架构”应该选为 db_datareader 。为了查看表结构的定义,我在对应映射的 “数据库角色成员身份” 中勾选了 public 。然后进入下一步操作。
4、可选操作:设置允许查看表定义。在 “安全对象” 中找到对应登录名、且勾选 “查看定义” 的 “授予” 项。如果勾选了 “具有授予权限”、则该用户可以授权对应行的权限给其他数据库用户 。
5、检查该用户是否允许连接数据库、是否允许登录。
6、登录新账号,并验证读写权限。
7、如需设置执行某(多)个存储过程的权限。
右键单击用户名、点击 “属性”。然后在弹出的窗口中依次点击 “安全对象” “搜索”。
此处选择 “特定对象” 并确认。或者在此处选择 “特定类型的所有对象” 并确认,然后选择 “存储过程”。弹窗会显示选择何种对象类型(数据库、视图 等),此处可以多选。
点击确认,将所有类型下的对象带到窗口中;挨个选中设置权限,搞定。
8、其他参考
根据网上的资料,删除对应账号应先删除登录名、再删除账号。请注意操作步骤,如遇到不更新的情况请多点击几次刷新。
为某个角色授权所有存储过程的执行权限:
以上是在 SQLServer 中创建只读用户的步骤,希望能帮到大家。
(完)
![Logo](https://devpress.csdnimg.cn/79de2bf0b7994defa4242ef90d5513fa.jpg)
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)