2011-08-23 48 views
1

我有一个数据库1与用户A与它的data_reader权利。在SQL Server 2008上的权利问题

我有一个数据库2与用户B wuth data_reader右它和数据库1.

没有获得我需要:

  • 2创建B中的观点与从表中引用1.
  • B不必看到数据库1(在Management studio中)
  • B不必为视图显示T SQL代码,只能对其进行选择。

这可能吗?

回答

2

是的,这被称为“跨数据库所有权链接”,并且可能是一个真正的痛苦。

关键是要确保以下设置:

  1. 两个DB2.View和DB1.Table是拥有由同一SQL用户(显然是具有访问权限的用户到两个数据库,通常是像SA这样的管理员用户)。

  2. Cross-database ownership chaining”在服务器或数据库上启用。

http://msdn.microsoft.com/en-us/library/ms188676.aspx参见进行更详细的讨论,并整齐图。

+0

同样非常重要的是,用户B必须是数据库1中的注册用户(不需要其他权利),否则权利链被破坏。 –

+0

@尼尔:不要怀疑你,但如果这是真的,MSDN的文章有点不完整, – BradC

+0

同意了,它忽略了这一点,它是根本。 –