我的数据库在我的 Windows Server 2016 标准上运行良好。数据库管理系统是 Microsoft SQL Server 2017 Express。
今天我添加了一个新的表格和内容,一切都很好。我试图打开数据库图并收到一条错误消息:
如果图像不起作用,则消息是:
无法作为数据库主体执行,因为权限“dbo”不存在,无法模拟此类主体,或者您没有权限。(Microsoft SQL Server,错误:15517)
我的服务器上没有任何变化 - 没有更新等。
我可以访问所有表格。当我查看我登录的帐户时,我可以看到我是数据库所有者,其他帖子建议这样做 - 但我以前并不确定为什么这会有所帮助。
这个问题会影响我拥有的每一个数据库。
唯一的区别是我现在使用以下脚本从计划任务创建每日备份
BACKUP DATABASE DBName TO DISK = N'C:\Program Files\Microsoft SQL Server\MSSQL13.SQLEXPRESS\MSSQL\Backup\DBName .bak'
WITH NOFORMAT, INIT, NAME = N'DBName Backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10
的结果
SELECT ORIGINAL_LOGIN(), USER_NAME(), SUSER_SNAME();
节目
这是因为数据库的所有者(登录名)被删除了。您应该将数据库的所有者重新映射到存在的登录名。
不要使用
sp_changedbowner
. 这是一个已弃用的功能。