SQL Server 2008:如何更改 dbo 的默认架构?

4 schema sql-server-2008 sql-server

当我尝试在 SQL Server Management Studio 中更改 dbo 的默认架构时,ALTER 失败并指出无法更改 dbo 帐户的架构。是否有任何技巧可以将“dbo”的 dbo 默认架构更改为“xxx”?

谢谢!

And*_*mar 7

每个数据库都由一个服务器主体(又名登录)拥有。在该数据库中,拥有主体称为dbo(aka * D *ata* B *ase * O *wner)。数据库主体(又名用户)失去其真实姓名。

例如,对于我拥有的数据库:

select  [user].name as UserName -- Database specific
,       [login].name as LoginName -- Server wide
from    sys.databases d
join    sys.database_principals as [user]
on      [user].sid = d.owner_sid
join    sys.server_principals as [login]
on      [login].sid = d.owner_sid
Run Code Online (Sandbox Code Playgroud)

将打印“dbo”、“Andomar”。如果您将所有者更改为sa

exec sp_changedbowner 'sa'
Run Code Online (Sandbox Code Playgroud)

查询将返回“dbo”、“sa”。

您不能修改拥有数据库的用户的默认架构。它始终是dbo具有默认架构名称的用户名dbo