【发布时间】:2010-11-12 09:52:00
【问题描述】:
我一直试图弄清楚为什么 SQL Server 有db_owner 架构和db_owner 角色?这非常令人困惑。我一直在寻找答案,到目前为止,我的理解是这样的:
- 所有表和对象(例如约束等)都属于一个模式。
DBO是默认架构。 - 可能会授予用户编辑每个对象或架构的权限。架构上的权限将权限扩展到该架构内的所有对象。因此,您不必为每个单独的对象授予权限。
- 为方便起见,角色将权限组合在一起。
如果其中任何一个不正确,请告诉我。但我认为到目前为止一切都很好。现在我的问题是:
- 在 SQL Server Management Studio 的“数据库用户”对话框中看到的
db_owner架构到底是什么?在同一个对话框中,您将“默认模式”定义为dbo。为什么两者不一样?如果SQL Server默认使用dbo创建下所有对象,那么db_owner有什么用? - 为什么用户想要拥有一个架构?您已经在分配权限/角色。拥有
db_accessadmin会给您带来什么? - 您能否举例说明何时在
db_owner架构和db_accessadmin架构下创建对象?换句话说,是否有人合法使用这些架构?
【问题讨论】:
-
同意。他们用相同的名称创建两种不同类型的对象(模式和角色)是荒谬的。
标签: sql-server sql-server-2005