更改数据库所有权SQL Server 2012 Express

时间:2014-11-21 16:50:21

标签: sql sql-server-2012

我正在尝试使用alter authorization语句更改数据库的所有者。

声明:

ALTER AUTHORIZATION ON DATABASE::spentlytestlocal TO renspently

错误:

  

无法找到主要的'用户名',因为它不存在或您没有权限

我确信我已授予用户获取所有权的权限,但非常感谢任何帮助和指导。

1 个答案:

答案 0 :(得分:0)

为了实现这一点,每个Books Online都必须有两件事:

  

服务器对象(例如数据库)必须由服务器主体拥有   (登录)。

这意味着您要拥有所有权的帐户必须在服务器上登录(而不仅仅是数据库中的用户 - 如果您从备份恢复,则可以让用户不登录)。

第二,

  

要求对实体拥有OWNERSHIP权限。如果新主人是   不是正在执行此语句的用户,也需要,   1)如果新用户是用户或登录,则对其拥有IMPERSONATE权限;   或2)如果新所有者是角色,角色成员或ALTER   对角色的许可;或3)如果新所有者是应用程序角色,   ALTER对应用程序角色的权限。

在实践中,这意味着您需要成为系统管理员。您不是系统管理员的一个常见实例是,如果SQL Express已配置为将本地管理员作为系统管理员,但您没有使用提升的权限启动Management Studio。