我在DB1中创建了一个视图,用于从DB2中的表中选择数据。 说“从DB2.B创建视图DB1.A作为Select *。”
只能访问DB1的用户'usr1'现在无法从此视图中选择数据。收到以下错误: 服务器主体“usr1”无法在当前安全上下文下访问数据库“DB2”。
我知道可以通过在Teradata中使用“With Grant”选项授予DB1对DB2的只读访问权限来处理此类方案。 SQL Server中是否有类似的选项?
答案 0 :(得分:0)
答案 1 :(得分:0)
据我所知,默认情况下,这是唯一可以满足两个条件的时间......
1.视图的所有者也基础表的所有者
2.您已激活“跨数据库所有权链接”
如果这些条件中的任何一个失败,则需要配置查询视图的用户/登录的安全设置,而不仅仅是视图的所有者。
视图和内联表值函数都不允许使用EXECUTE AS OWNER
或类似选项。