数据库之间的SQLServer访问限制

时间:2012-05-17 21:27:25

标签: sql sql-server

我在DB1中创建了一个视图,用于从DB2中的表中选择数据。 说“从DB2.B创建视图DB1.A作为Select *。”

只能访问DB1的用户'usr1'现在无法从此视图中选择数据。收到以下错误: 服务器主体“usr1”无法在当前安全上下文下访问数据库“DB2”。

我知道可以通过在Teradata中使用“With Grant”选项授予DB1对DB2的只读访问权限来处理此类方案。 SQL Server中是否有类似的选项?

2 个答案:

答案 0 :(得分:0)

1)使用以下链接将您的用户名映射到DB2数据库herethis

答案 1 :(得分:0)

据我所知,默认情况下,这是唯一可以满足两个条件的时间...... 1.视图的所有者基础表的所有者
2.您已激活“跨数据库所有权链接”

如果这些条件中的任何一个失败,则需要配置查询视图的用户/登录的安全设置,而不仅仅是视图的所有者。

视图和内联表值函数都不允许使用EXECUTE AS OWNER或类似选项。