我得到以下错误
Cannot execute as the database principal because the principal "dbo"
does not exist, this type of principal cannot be impersonated,
or you do not have permission.
我读过关于ALTER AUTHORIZATION的文章,但我不知道这发生在哪个数据库中。这个错误被频繁地抛出,并且错误日志以每天1GB的速度增长。
我得到以下错误
Cannot execute as the database principal because the principal "dbo"
does not exist, this type of principal cannot be impersonated,
or you do not have permission.
我读过关于ALTER AUTHORIZATION的文章,但我不知道这发生在哪个数据库中。这个错误被频繁地抛出,并且错误日志以每天1GB的速度增长。
当前回答
进入属性-文件。 所有者名称必须为空。只要在用户名中输入“sa”,问题就会得到解决。
其他回答
另一种方法
ALTER AUTHORIZATION
ON DATABASE::[DatabaseName]
TO [A Suitable Login];
进入属性-文件。 所有者名称必须为空。只要在用户名中输入“sa”,问题就会得到解决。
当数据库是从不同的SQL服务器或实例恢复时,也可能发生这种情况。在这种情况下,数据库中的安全主体'dbo'与恢复数据库的SQL服务器上的安全主体不相同。 不要问我是怎么知道的……
USE [<dbname>]
GO
sp_changedbowner '<user>' -- you can use 'sa' as a quick fix in databases with SQL authentication
KB913423 -在SQL Server 2005中恢复数据库后,不能运行包含EXECUTE AS子句的语句或模块
做图形。
数据库右键点击——>属性——>文件——>选择数据库所有者——>选择[sa]——ok