栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Go语言

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

Go语言 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

项目场景:

版本:SQL server 2019
操作:测试复制功能的本地发布/本地订阅,需要删除


问题描述:

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

无法作为数据库主体执行,因为主体 “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

PS:以上代码可直接执行,不更改任何内容.运行结果如下:

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

USE AdventureWorks2008R2; --数据库名称
EXEC sp_changedbowner 'sa'; --数据库系统管理员
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/903577.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号