无法作为数据库主体执行,因为主体 "dbo" 不存在、无法模拟这种类型的主体,或您没有所需的权限。 已将数据库上下文更改为...

本文解决在使用SQL Server时遇到的执行Transact-SQL语句或批处理时发生异常的问题,并提供了解决步骤,包括使用USE命令切换数据库、执行sp_changedbowner命令更改数据库所有者等方法。同时,提供了查看数据库所有者的SQL查询,帮助快速定位问题根源。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

右键删除发布时报错信息:

其他信息:
执行 Transact-SQL 语句或批处理时发生了异常。 (Microsoft.SqlServer.ConnectionInfo)
——————————
无法作为数据库主体执行,因为主体 "dbo" 不存在、无法模拟这种类型的主体,或您没有所需的权限。 已将数据库上下文更改为 'AdventureWorks2012'。 (Microsoft SQL Server,错误: 15517)  有关帮助信息,请单击: http://go.microsoft.com/fwlink?ProdName=Microsoft%20SQL%20Server&ProdVer=11.00.2100&EvtSrc=MSSQLServer&EvtID=15517&LinkId=20476  

 

解决办法:

USE 出问题的库名; 
EXEC sp_changedbowner '数据库系统管理员'; 

 

查看数据库的所有者:

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

 

转载于:https://www.cnblogs.com/gates/p/5145027.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值