我得到以下错误
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的速度增长。
当前回答
当意外地将数据库连接字符串提供给只读镜像时也有此错误-而不是HA设置中的主数据库。
其他回答
当意外地将数据库连接字符串提供给只读镜像时也有此错误-而不是HA设置中的主数据库。
做图形。
数据库右键点击——>属性——>文件——>选择数据库所有者——>选择[sa]——ok
正如消息所说,您应该将权限设置为用户的所有者。所以你可以使用以下语句:
ALTER AUTHORIZATION
ON DATABASE::[YourDBName]
TO [UserLogin];
希望有帮助! 如果你觉得合适,请留下评论。
当数据库是从不同的SQL服务器或实例恢复时,也可能发生这种情况。在这种情况下,数据库中的安全主体'dbo'与恢复数据库的SQL服务器上的安全主体不相同。 不要问我是怎么知道的……
进入属性-文件。 所有者名称必须为空。只要在用户名中输入“sa”,问题就会得到解决。