sp_changeobjectowner
更改当前数据库中对象的所有者。
语法
sp_changeobjectowner [ @objname = ] 'object' , [ @newowner = ] 'owner'
下面的示例将 authors 表的所有者改为 Corporate/GeorgeW。
EXEC sp_changeobjectowner 'authors', 'Corporate/GeorgeW'
认为最稳妥的方法:
EXEC sp_changeobjectowner '所有者.authors', '新的所有者'
happyflystone(仙林幽谷客) :
sp_changedbowner
更改当前数据库的所有者。
语法
sp_changedbowner [ @loginame = ] 'login'
[ , [ @map = ] remap_alias_flag ]
参数
[@loginame =] 'login'
当前数据库新所有者的登录 ID。login 的数据类型为 sysname,没有默认值。login 必须是已存在的 Microsoft® SQL Server™ 登录或 Microsoft Windows NT® 用户。如果 login 通过当前数据库内的现有别名或用户安全帐户已拥有访问该数据库的权限,则不能成为该数据库的所有者。为了避免这种情况,应先除去当前数据库中的别名或用户。
[@map =] remap_alias_flag
值为 true 或 false,表示旧数据库所有者 (dbo) 的现有别名是映射到当前数据库的新所有者还是要除去。remap_alias_flag 的数据类型为 varchar(5),默认值为 NULL,表示旧 dbo 的任何现有别名均映射到当前数据库的新所有者。false 表示除去旧数据库所有者的现有别名。
返回代码值
0(成功)或 1(失败)