×

sqlserver 权限 限制 用户 字段

SqlServer限制用户只能访问指定数据库指定数据表的指定字段

鹭岛小千 鹭岛小千 发表于2021-06-26 23:13:20 浏览1003 评论0

抢沙发发表评论

【问题描述】SqlServer如何设置才能实现某个用户只能访问指定数据库指定数据表的指定字段呢?

如下图,如何创建一个用户xiaoqian,授权它只能访问xqofficeMSSQL数据库的HumanResources.EmployeePayHistory数据表除Rate以外的字段呢?

20-1.png


【小千解答】设置步骤如下:

Step1  【安全性】→【登录名】→【新建登录名】

20-2.png


Step2  【常规】选项卡设置

【登录名】输入xiaoqian→【SQL Server身份验证】,设置密码→勾选【强制实施密码策略】→【默认数据库】选择【xqofficeMSSQL】。

20-3.png


Step3 【服务器角色】选项卡设置:勾选【public】

20-4.png


Step4 【用户映射】选项卡设置

【映射用户】勾选【xqofficeMSSQL】,【默认架构】选择【HumanResources】,【角色身份】勾选【public】。

20-5.png

【安全对象】和【状态】选项卡保持默认设置→【确定】。


Step5  单击【HumanResources.EmployeePayHistory】,右键,【属性】

20-6.png


Step6  【权限】→【搜索】,勾选【xiaoqian】,勾选【选择】行【授予】列交叉复选框→【列权限】→勾选除Rate以外各列名的【授予】复选框→【确定】。

20-7.png



【效果1】用户xiaoqian无法访问xqofficeMSSQL以外的数据库。

20-8.png


【效果2】用户xiaoqian只能访问xqofficeMSSQL数据库的HumanResources.EmployeePayHistory数据表除Rate以外的字段。

20-9.png

20-10.png


补充:

为SSMS某登录名授权访问某数据库之后,会在该数据库出现同名用户,二者存在映射关系。 

20-11.png


打赏码.png


【参考资料】

  1. 【SQLSERVER】如何设置权限用户

  2. SQLServer控制用户访问权限表


群贤毕至

访客