“架构所有者”的目的是什么?

J.D*_*.D. 4 schema sql-server sql-server-2008-r2 inheritance owner

如果我创建一个新架构并将架构所有者设置为另一个架构,例如 dbo,那么这对我的新架构有何意义?

我的新架构是否继承了其所有者 dbo 的相同权限?

Dav*_*oft 5

架构的所有者始终是用户(或数据库角色)。可能有一个与用户同名的架构,因为在非常旧的 SQL Server 版本中,用户和架构是一回事。所以在每个数据库中仍然有一个 User 调用dbo和一个 Schema 调用dbo

架构的所有者是完全控制架构的用户,并且他将是添加到架构的每个对象的默认所有者。拥有一个对象会抑制对该对象的权限检查,并且在所有权链中扮演着重要的角色。

  • 尽管在我的经验中很少使用,但可以使用“ALTER AUTORIZATION ON OBJECT::SomeObject TO UserWhoIsNotSchemaOwner”更改单个对象的所有者,这样对象所有者与架构所有者不同。在这种情况下,将不会继承架构所有者。 (3认同)