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

@安全


1、需求场景:

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

2、操做步骤:

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

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

在这里插入图片描述

二、在【常规】选项卡中,建立登陆名,并设置默认数据库;

在这里插入图片描述

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

在这里插入图片描述

四、对须要设置操做权限的表进行权限设置,【表】--【属性】;

数据库TestDB中已经有两个表,分别为User和Salary,如今对表User进行权限设置,将Insert、update、delete、select的权限赋给用户【zyl】;3d

表上右键选择【属性】,选择【权限】选项卡:

在这里插入图片描述

点击【搜索】,在弹出的框中点击【浏览】,选择须要设置的用户;

在这里插入图片描述

在上面点击【肯定】后,就能够在【权限】选项卡中看到权限列表,选择须要的权限点击肯定便可;

在这里插入图片描述
在这里插入图片描述

当选中【选择】和【引用】权限时,还能够设置【列权限】;

在这里插入图片描述

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

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

3、注意事项

一、在权限列表中若是选择了【设置】这项,那么再设置【列权限】就没有意义了,由于查询已经不受限制了;

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

二、除了对表设置权限外,还能够对视图、函数等进行权限设置;

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

相关文章
相关标签/搜索