在通常的开发应用中,数据库对象的所有者全都是DBO,有没有谁不是DBO的,数据库对象的所有者一般都有些什么应用?用它来分是谁创建的吗?若一个数据库中数据库对象有多个所有者,在访问对西对象时没有指明所有者会不会有什么问题?

解决方案 »

  1.   

    如果是固定服务器角色 sysadmin组用户创建的 ,默认的数据库所有者就是dbo ,否则就是本用户
      

  2.   

    联机帮助dbo 是具有在数据库中执行所有活动的暗示性权限的用户。将固定服务器角色 sysadmin 的任何成员都映射到每个数据库内称为 dbo 的一个特殊用户上。另外,由固定服务器角色 sysadmin 的任何成员创建的任何对象都自动属于 dbo。例如,如果用户 Andrew 是固定服务器角色 sysadmin 的成员,并创建表 T1,则表 T1 属于 dbo,并以 dbo.T1 而不是 Andrew.T1 进行限定。相反,如果 Andrew 不是固定服务器角色 sysadmin 的成员,而只是固定数据库角色 db_owner 的成员,并创建表 T1,则 T1 属于 Andrew,并限定为 Andrew.T1。该表属于 Andrew,因为该成员没有将表限定为 dbo.T1。无法删除 dbo 用户,且此用户始终出现在每个数据库中。只有由 sysadmin 固定服务器角色成员(或 dbo 用户)创建的对象才属于 dbo。由任何其他也不是 syadmin 固定服务器角色成员的用户(包括 db_owner 固定数据库角色成员)创建的对象: 属于创建该对象的用户,而不是 dbo。
    用创建该对象的用户名限定。