我正在尝试使用alter authorization语句更改数据库的所有者。
声明:
ALTER AUTHORIZATION ON DATABASE::spentlytestlocal TO renspently
错误:
无法找到主要的'用户名',因为它不存在或您没有权限
我确信我已授予用户获取所有权的权限,但非常感谢任何帮助和指导。
答案 0 :(得分:0)
为了实现这一点,每个Books Online都必须有两件事:
服务器对象(例如数据库)必须由服务器主体拥有 (登录)。
这意味着您要拥有所有权的帐户必须在服务器上登录(而不仅仅是数据库中的用户 - 如果您从备份恢复,则可以让用户不登录)。
第二,
要求对实体拥有OWNERSHIP权限。如果新主人是 不是正在执行此语句的用户,也需要, 1)如果新用户是用户或登录,则对其拥有IMPERSONATE权限; 或2)如果新所有者是角色,角色成员或ALTER 对角色的许可;或3)如果新所有者是应用程序角色, ALTER对应用程序角色的权限。
在实践中,这意味着您需要成为系统管理员。您不是系统管理员的一个常见实例是,如果SQL Express已配置为将本地管理员作为系统管理员,但您没有使用提升的权限启动Management Studio。