恢复数据库后数据库所有者是空的?

时间:2013-09-20 11:11:01

标签: sql sql-server sql-server-2008-r2

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

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

为什么它是空的?

2 个答案:

答案 0 :(得分:1)

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

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

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

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

答案 1 :(得分:0)

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

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

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

填充该字段和bingo,如果原来的所有者丢失,它确实会返回一个空字符串。