什么是“跨数据库所有权链”

作者: 来源: 日期:2009-3-26

在进行跨服务器访问对象时,如果开启了“跨数据库所有权链”,对于同一个所有者的对象,不在被调用对象的数据库中检查调用者的权限!(只在调用对象的数据库中检查调用者对该对象的权限)

例如,如果在数据库 A 和数据库 B 之间启用了跨数据库所有权链接,则任一数据库的 db_owner 固定数据库角色的成员都可以访问另一数据库。过程很简单:Diane(数据库 A 中 db_owner 角色的成员)在数据库 A 中创建了用户 Stuart。Stuart 已经作为用户存在于数据库 B 中。然后 Diane 在数据库 A 中创建一个对象(由 Stuart 所拥有),该对象调用数据库 B 中 Stuart 所拥有的任何对象。因为调用对象和被调用对象的所有者相同,所以当 Diane 通过她创建的对象访问数据库 B 中的对象时,不会检查她对该对象的权限。

相关文章