奋斗不止 发表于 2019-11-19 16:39:42

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


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】;

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

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

在上面点击【确定】后,就可以在【权限】选项卡中看到权限列表,选择需要的权限点击确定即可;


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


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

并且用户【zyl】只能对表User进行增删改查,不能修改表结构;

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

2、除了对表设置权限外,还可以对视图、函数等进行权限设置;
在数据库的【安全性】-【用户】-【zyl】-【属性】-【安全对象】;



页: [1]
查看完整版本: SqlServer设置特定用户操作特定表(插入、删除、更新、查询)