Welcome toVigges Developer Community-Open, Learning,Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
2.6k views
in Technique[技术] by (71.8m points)

sqlserver新建登录名指定视图权限

需求

sqlserver新建一个的登录名只能看到一个视图,应该如何做?
视图是跨库的,描述如下

服务器环境

现有sqlserver服务器中两个数据库DB1,DB2
DB1中的视图v_task 读取了两个数据库的内容,像这样

create view v_task as 
select a.* from DB1.dbo.table1 a, DB2.dbo.table2 b
where a.id=b.id
实现

新登录名 user_demo只有v_task视图的select权限

新建登录名 user_demo,并在用户映射里添加 DB1的用户db1_user,并为db1_user分配v_task的select权限

问题

select * from DB1.dbo.v_task报错如下
服务器主体 "user_demo" 无法在当前安全上下文下访问数据库 "DB2"。
必须 分配DB2.dbo.table2的读权限,我不希望此登录名查看DB2.dbo.table2的内容。


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)
等待大神解答

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to Vigges Developer Community for programmer and developer-Open, Learning and Share
...