sqlserver R2如何设置权限只能访问特定的表,网上的方法试过了,但不能实现

sqlserver R2如何设置权限只能访问特定的表,网上的方法试过了,但不能实现

在数据库的客户端SQL Server 2014 Management Studio,用sa账号或者管理员登录你的服务器实例;
1.创建一个用户和密码,怎么创建呢,如图图片说明,右键新建登录名;
(注意:注意这个安全性的位置,别弄错了,因为你在数据库里面也有一个安全性,如图图片说明),配置新建用户名好相应的基本权限;
2.打开你想赋予这个用户的数据库的安全性,如图2,找到你刚建的用户名右键属性,选择图中的“安全对象”,弹出如图图片说明,点击“搜索”,弹出“添加对象”,点确定,弹出图片说明,对象类型选择你想给这个账号赋予的权限,可以是表,存储过程,数据库,函数等等;
3.注意:如果你赋予的存储过程或者视图给这个账号,那么这个账号也要有存储过程或者视图中用到的表的权限,否则这个账号有权限查看修改存储过程或者视图,但是执行的时候会报错说无权限查相应的表。

在management studio中可以设置的。

Management Studio中的表上右键选属性(Properties),左边选权限(Permissions),右边中间添加和选中某个User或Role,下面选中或移除某个权限。同样你可用标准的赋权语句来实现:如
grant/revoke select on 表名 to 用户名。

登录sa用户,在安全性-登录名,给相应的登录名设置权限

create login [test] with password='数据库密码';
go
use 数据库名;
go
create user [test] from login [test];
go
grant select on dbo.表名 to [test];--相应的权限
go
grant update on dbo.表名 to [test];
go