sqlserver _ sqlserver给别人开视图账号

 

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

2,--当前数据库,也就是需要开放的数据库,创建角色
exec sp_addrole 'readview'     --创建了一个数据库角色,名称为:[readview]

3,--分配视图权限

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

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

exec sp_addlogin 'test',''test'','ccflow'   //这是设置让第三方只能看到的数据库的登录名,其他数据库都无权限查看

 

 

 

 

此处可能执行不了,要求密码强度,可去计算机策略中取消密码长度校验

5,--添加只允许访问指定视图的用户并赋予 readview角色: exec sp_adduser '登录名','用户名','角色'
exec sp_adduser 'test','test','readview'

 

或图形界面操作:

 

 

 

 

 

 

 

 

 

6,--注意,如果该数据库给public设置了访问权限,需要手动取消,

因为public是默认的,踩此坑历时 5 小时!

 

 

 

转载处:https://www.cnblogs.com/shi-yongcui/p/7755521.html

posted @ 2021-07-26 15:07  帅气解小兵  阅读(696)  评论(0)    收藏  举报