SQLSERVER2008 用户访问视图权限的设置问题

sunlaji008 2016-11-29 10:00:51
我想在sqlserver2008上建一个用户,该用户只能访问该用户下的视图但不能访问视图相关的表,有些视图是跨用户写的,该用户也不能看到所涉及到的用户下面的表。怎么设置能实现这样的需求?

一下做法只能实现自己用户下只访问视图不能访问表,但是跨用户就提示无法在当前安全上下文下访问数据库。


use crm
--当前数据库创建角色
exec sp_addrole 'rapp'
--分配视图权限 GRANT SELECT ON veiw TO [角色]

--指定视图列表
GRANT SELECT ON v_city TO rapp
GRANT SELECT ON v_lp TO rapp
GRANT SELECT ON v_qy TO rapp

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

此处可能执行不了,要求密码强度,那就自己手工创建
go
--添加只允许访问指定视图的用户到rCRM角色中: exec sp_adduser '登录名','用户名','角色'
exec sp_adduser 'sa','sapwd','rapp'

...全文
1613 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
快溜 2016-11-29
  • 打赏
  • 举报
回复
视图量小的话,在新用户下刷新一下视图

34,837

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧