SQLServer 创建只读用户和授权

因为公司报表 抽数 需要,要创建一个只读权限的账号。操作环境是 Windows Server 2012 上部署的  SQLServer 11.0 数据库。所以简单进行了操作,步骤记录如下:

1、使用 Management Studio 访问 “安全性” 并新建账号。用管理员登录数据库后,在 “对象资源管理器” 中找到 “安全性”-“登录名”、右键单价新增。此时弹出新建窗口,并在“常规”选项卡中编辑用户名字和密码、选择其中一种身份认证。

SQLServer 创建只读用户和授权_第1张图片

如上图所示,当选择了某个默认数据库、登录后将默认打开。

2、设置服务器角色。

SQLServer 创建只读用户和授权_第2张图片

一般勾选 public 角色就够了,除非你需要创建数据库或者其他功能的权限。角色名字和功能是对应的,请按需选择。

3、设置“用户映射”。

SQLServer 创建只读用户和授权_第3张图片

 首先勾选某个要映射的数据库,然后看下默认架构。在对应勾选的映射中、“默认架构”应该选为 db_datareader 。为了查看表结构的定义,我在对应映射的 “数据库角色成员身份” 中勾选了 public 。然后进入下一步操作。

4、可选操作:设置允许查看表定义。在 “安全对象” 中找到对应登录名、且勾选 “查看定义” 的 “授予” 项。如果勾选了 “具有授予权限”、则该用户可以授权对应行的权限给其他数据库用户 。

SQLServer 创建只读用户和授权_第4张图片

5、检查该用户是否允许连接数据库、是否允许登录。

SQLServer 创建只读用户和授权_第5张图片

 6、登录新账号,并验证读写权限。

 7、如需设置执行某(多)个存储过程的权限。

右键单击用户名、点击 “属性”。然后在弹出的窗口中依次点击 “安全对象” “搜索”。

此处选择 “特定对象” 并确认。或者在此处选择 “特定类型的所有对象” 并确认,然后选择 “存储过程”。弹窗会显示选择何种对象类型(数据库、视图 等),此处可以多选。

点击确认,将所有类型下的对象带到窗口中;挨个选中设置权限,搞定。

8、其他参考

根据网上的资料,删除对应账号应先删除登录名、再删除账号。请注意操作步骤,如遇到不更新的情况请多点击几次刷新。

为某个角色授权所有存储过程的执行权限:

Grant EXEC on all Stored Procedures to a Role – SQLServerCentralEasily grant exec permission to all stored procedures to a database role in SQL 2005 or higher.https://www.sqlservercentral.com/articles/grant-exec-on-all-stored-procedures-to-a-role

删除登录名的操作:How to drop a SQL Server Login and all its dependenciesIn this blog post, we are going to show you how to drop SQL Server Login and all its dependencies, to do it we need to use SSMS as explained in the article.https://www.sqlshack.com/drop-sql-server-login-dependencies/

以上是在 SQLServer 中创建只读用户的步骤,希望能帮到大家。

(完)

你可能感兴趣的:(工具使用,sqlserver,数据库,运维)