无法作为数据库主体执行,因为主体 “dbo“ 不存在、无法模拟这种类型的主体,或您没有所需的权限

问题描述:

最近正在测试数据库复制,想删除发布服务器的发布数据库时,突然提示这个:
删除发布
无法作为数据库主体执行,因为主体 “dbo” 不存在、无法模拟这种类型的主体,或您没有所需的权限。已将数据库上下文更改为 “AdventureWorks2008R2”。 (Microsoft SQL Server,错误: 15517)


原因分析:

用附件文件和组的方法的还原数据库,因为新附加的数据库需要设置所有者才能建立数据库关系图,所以才会出现以上情况。引以为戒


解决方案:

解决办法1:

选中数据库实例,右键-属性-文件-查看 实例的所有者是否为空,如果为空,请点击
选中用户即可。

无法作为数据库主体执行,因为主体 “dbo“ 不存在、无法模拟这种类型的主体,或您没有所需的权限
无法作为数据库主体执行,因为主体 “dbo“ 不存在、无法模拟这种类型的主体,或您没有所需的权限

解决方法2:

运行一下代码检查数据库的归属权:

select owner_sid ,lo.sid, lo.name, lo.loginname ,db_name(database_id) 
from master.sys.databases da 
inner join  sys.syslogins lo on  da.owner_sid = lo.sid

PS:以上代码可直接执行,不更改任何内容.运行结果如下:
在这里插入图片描述
更改所有者为sa 或当前账号:

USE AdventureWorks2008R2; --数据库名称
EXEC sp_changedbowner 'sa'; --数据库系统管理员

文章来源:https://www.cnaaa.net,转载请注明出处:https://www.cnaaa.net/archives/7266

(0)
郭靖的头像郭靖
上一篇 2023年2月17日 下午4:01
下一篇 2023年2月18日 下午1:57

相关推荐

  • delete、truncate、drop的区别

    MySQL删除数据的方式都有哪些? 咱们常用的三种删除方式:通过 delete、truncate、drop 关键字进行删除;这三种都可以用来删除数据,但场景不同。 一、从执行速度上来说 二、从原理上讲 1、DELETE 1、DELETE属于数据库DML操作语言,只删除数据不删除表的结构,会走事务,执行时会触发trigger; 2、在 InnoDB 中,DEL…

    2023年8月31日
    1.4K00
  • Oracle用户密码过期的处理方法

    受影响版本:Oracle11g以上版本。 导致密码消失的原因:Oracle 11g中默认的DEFAULT概要文件中口令有效期PASSWORD_LIFE_TIME默认值为180天。 当以客户端登陆Oracle提示ORA-28002,则基本可以确定登陆帐号已过有效期,使用具有DBA权限的帐号重置该帐号密码即可。 解决方法: 以下步骤以具有DBA权限用户操作 1.…

    2024年5月9日
    1.1K00
  • Navicat161 数据库文件修复

    错误分析 此错误一般为表损坏,修复即可。可能造成原因为服务器突然断电,而有程序还在往表里写数据或者表的数据很大或者数据搬迁的时候编码格式有误,避免浪费时间去修表,可采用Navicat去快速修复表!!! 登录Navicat数据库,找到报错的数据表,右键维护->修复表->拓展或者快速

    2022年11月17日
    1.4K00
  • DeDeCMS MySQL Column ‘nature’ has duplicated value ‘婆婆妈妈’ in SET 错误解决方案

    我们在做网站迁移,或者备份数据库时,需要导出一个.sql的数据库文件,然后再把这个.sql文件导入到新的数据库当中,但是我们在导入 dedecms 模板的 sql 数据库时,有时候会提示 Column ‘nature’ has duplicated value ‘婆婆妈妈’ in SET 这个错误的,那么我们该如何去解决呢? 解决方案一: 登录到原有的程序后…

    2022年6月14日
    1.3K00
  • 解决远程连接MySQL报错:2003 – Can‘t connect to MySQL server on ‘X.X.X.X‘ (10060 “Unknown error“)问题

    问题先看报错: 2003 – Can’t connect to MySQL server on ‘X.X.X’ (10060 “Unknown error”)。 意思是服务器远程连接出错:未知错误。 解决方案:遇到这个问题,首先想到的是权限不够。那咱就给它赋权。 首先登录MySQL数据库:mysql -u用户名 -p密码; 然后:use mysq…

    2023年7月27日
    1.0K00

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

在线咨询: QQ交谈

邮件:712342017@qq.com

工作时间:周一至周五,8:30-17:30,节假日休息

关注微信