从不再存在的用户那里窃取数据库的所有权

Mar*_*son 7 permissions sql-server-2008-r2

我们有几个 SQL Server 2008 R2 数据库,其中的成员域发生了更改(即它已连接到DOMAINA并且现在位于DOMAINB)。我们有三个数据库,其中数据库的所有者是DOMAINA\User,该数据库不再存在。

我试图登录到SQL Server作为DOMAINB\Administratorsa和运行以下命令:

ALTER AUTHORIZATION ON DestDB TO sa
Run Code Online (Sandbox Code Playgroud)

错误:

消息 15151,级别 16,状态 1,第 1 行
找不到对象“DestDB”,因为它不存在或您没有权限。

我在(显然不正确的)假设下sa可以在服务器上做几乎任何事情。

我怎样才能取回这些数据库的所有权?

Mik*_*Fal 9

您使用的语法试图在您当前所在的任何数据库上下文中更改对象“DestDB”的所有权。您需要使用类定义来指定您正在更改数据库所有权:

ALTER AUTHORIZATION ON DATABASE::[DestDB] TO [sa]