ITPub博客

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

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

作者:飘絮絮絮丶 时间:2023-03-22 09:22:13 0 删除 编辑

最近正在测试数据库复制,想删除发布服务器的发布数据库时,突然提示这个

无法作为数据库主体执行,因为主体 "dbo" 不存在、无法模拟这种类型的主体,或您没有所需的权限。已将数据库上下文更改为 "AdventureWorks2008R2"。 (Microsoft SQL Server,错误: 15517)

终于在网上找到解决办法,记录以备忘。

解决办法1

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

选则用户 即可。

解决方法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

更改所有者为sa 或当前账号:

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


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

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69946831/viewspace-3146719/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-09-09

  • 博文量
    2646
  • 访问量
    42234