0

我有生产数据库的备份,我在本地计算机上恢复。

但是当我尝试创建图表时,我收到消息,发现授权存在问题。好的,我去更改数据库所有者,右键单击数据库,选项文件,我注意到所有者字段为空。

为什么是空的?

4

2 回答 2

2

这很可能是因为在生产服务器上设置为所有者的登录名在您将其还原到的服务器上不存在。

您可以通过创建一个登录名来重新创建它,比如“test_user”,创建一个数据库并让“test_user”成为所有者。

备份数据库,删除它,然后删除“test_user”登录。

恢复您删除的数据库,所有者现在将为空白。

于 2013-09-20T13:15:07.017 回答
0

我遇到了这个问题,然后意识到它会影响相当多的数据库,所以我需要一些方法来找出哪些数据库受到了影响——使用最新的 SQL SSMS 17,我发现如果我是恢复数据库的人,那么通常的建议sp_helpdb 等不起作用,因为它们用您自己的用户名填写所有者名称,但“所有者”字段在数据库属性的文件选项卡中仍然为空。

我使用了 SQL Profiler,发现它使用:

use MyDatabaseThatsMissingItsOwner;
select suser_sname((select sid from sys.database_principals where name = N'dbo'));

填充该字段和宾果游戏,如果原始所有者丢失,它确实会返回一个空字符串。

于 2018-01-20T12:22:30.390 回答