SqlServer设置特定用户操作特定表(插入、删除、更新、查询 的权限设置)


一、需求场景:

在和其他厂商对接的时候,经常会将某数据库的某些表放开增删改查(CRUD)的权限给对方,此时,就要新建个用户,授予某数据库的某些表CRUD的权限;还有的时候只需授权SELECT权限,其他权限不能授予;

二、操作步骤:

演示所用数据库版本:SQL Server Management Studio V17.8.1

1、登录SSMS后选择【安全性】,右键点击【登录名】,在弹出的右键菜单中选择【新建登录名】选项;

在这里插入图片描述

2、在【常规】选项卡中,创建登录名,并设置默认数据库;

在这里插入图片描述

3、在【用户映射】选显卡中,勾选数据库,并设置【架构】;

在这里插入图片描述

4、对需要设置操作权限的表进行权限设置,【表】--【属性】;

数据库TestDB中已经有两个表,分别为User和Salary,现在对表User进行权限设置,将Insert、update、delete、select的权限赋给用户【zyl】;
1)、表上右键选择【属性】,选择【权限】选项卡:
在这里插入图片描述
2)、点击【搜索】,在弹出的框中点击【浏览】,选择需要设置的用户;
在这里插入图片描述
3)、在上面点击【确定】后,就可以在【权限】选项卡中看到权限列表,选择需要的权限点击确定即可;
在这里插入图片描述
在这里插入图片描述
4)、当选中【选择】和【引用】权限时,还可以设置【列权限】;
在这里插入图片描述

5、使用【zyl】登录数据库,就只能看到User表了;

在这里插入图片描述
并且用户【zyl】只能对表User进行增删改查,不能修改表结构;

三、注意事项

1、在权限列表中如果选择了【设置】这项,那么再设置【列权限】就没有意义了,因为查询已经不受限制了;

如果设置了【列权限】,没有选择【设置】权限,那么select * 就会报错;
在这里插入图片描述

2、除了对表设置权限外,还可以对视图、函数等进行权限设置;

在数据库的【安全性】-【用户】-【zyl】-【属性】-【安全对象】;
在这里插入图片描述


posted @ 2019-11-16 15:39  willingtolove  阅读(...)  评论(... 编辑 收藏