sql - 原理Sql Server中不存在dbo

标签 sql sql-server sql-server-2012

通过 SQL Server 中的存储过程获取数据时,我收到如下错误

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.

我仅在访问特定存储过程时收到此错误,而不是在访问所有 SP 时收到此错误。

最佳答案

为您的数据库指定一个有效的所有者。试试这个:

ALTER AUTHORIZATION 
ON DATABASE::[YourDatabaseName]
TO [LoginUser];

或者你可以尝试这样设置

USE [dbname]
GO
sp_changedbowner 'someLogin'

关于sql - 原理Sql Server中不存在dbo,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37385021/

相关文章:

sql - 列与列之间的模糊匹配

sql - 更改Magento1.8中的现有客户电子邮件地址

java - DynamicReports 消除了日期字段的时间部分

php - 将数组传递给sql查询不起作用

sql-server - 如何从函数(UDF)返回表变量?

sql-server - SQL Server更新语句执行

java - 单连接中的多条语句

sql-server - MS Access 应用程序 - 将数据存储从 Access 转换为 SQL Server

ssis - 在 SSIS 2012 中将 unicode 字符串转换为非 unicode 字符串

sql-server - 如何根据列值对集合进行分组