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 小时!


浙公网安备 33010602011771号