Sql Server:创建用户并指定该用户只能看指定的视图,除此之外的都不让查看

1,在sql server中选择好要操作的数据库

 

2,--当前数据库创建角色 
exec sp_addrole 'seeview'      --创建了一个数据库角色,名称为:[seeview]

 

3,--分配视图权限 GRANT SELECT  ON veiw TO [角色] 

--指定视图列表 指定seeview这个角色可以查看的视图表名称;也就是这个角色可以查看下面赋予这些视图信息,除此之外的所有的东西都看不到
GRANT SELECT ON  v_viewname1 TOseeview
GRANT SELECT ON  v_viewname2  TO seeview

 

4,--添加只允许访问指定视图的用户: exec sp_addlogin '登录名','密码','默认数据库名' 

exec sp_addlogin 'per','p123','oa'

此处可能执行不了,要求密码强度,那就自己手工创建

 

5,--添加只允许访问指定视图的用户到rCRM角色中: exec sp_adduser '登录名','用户名','角色' 
exec sp_adduser 'per','p123','seeview'

总体代码如下:

exec sp_addrole 'seeview'

GRANT SELECT ON View_ToBQBL to seeview

exec sp_addlogin 'BQUser_1','Bq120_120','Anchor120V7Managecq'

exec sp_adduser 'BQUser_1','Bq120_120','seeview'

 

注:一次完成以上操作以后,就可以实现创建一个用户,并且只让这个用户查看指定视图中的信息。

原文地址:https://www.cnblogs.com/ZGQ-VIP/p/10906262.html