我得到以下错误
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的速度增长。
当前回答
在将数据库从SQL2016恢复到SQL2019之后,当我试图访问数据库图时遇到了同样的问题。我已经有正确的数据库所有者,但文件的所有者是空的。一旦我设置好了,它就正常工作了……
其他回答
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子句的语句或模块
在将数据库从SQL2016恢复到SQL2019之后,当我试图访问数据库图时遇到了同样的问题。我已经有正确的数据库所有者,但文件的所有者是空的。一旦我设置好了,它就正常工作了……
做图形。
数据库右键点击——>属性——>文件——>选择数据库所有者——>选择[sa]——ok
进入属性-文件。 所有者名称必须为空。只要在用户名中输入“sa”,问题就会得到解决。
在Security下,将主体添加为“未登录的SQL用户”,使其拥有与主体同名的模式,然后在Membership中将其设置为db_owner。