【发布时间】:2018-09-27 22:36:48
【问题描述】:
我有一个数据库已从生产网站恢复到我的环境中以进行开发。原来的数据库是SQL Server 2016,我的开发环境原来也是2016。我使用 Red Gate SQL Compare/Data Compare 将其迁移到 2014 以实现跨环境的最大兼容性。
在恢复的 SQL Server 2016 和 2014 环境中,都列出了两个用户,但有一个图标表示他们丢失了(上面有红色的 X)。
如果我运行查询以列出数据库中的所有用户,它们确实似乎丢失了。示例查询如下。
select suser_sname(owner_sid) as 'Owner', state_desc, *
from sys.databases
order by [name]
select *
from master.sys.server_principals
order by [name]
有问题的两个用户帐户是INFORMATION_SCHEMA 和sys。根据下面的 MS 文档,这些似乎是内置用户帐户。
为什么恢复数据库后这些账户会丢失?
我需要添加它们吗?如果是,我该如何安全地做到这一点?根据以下文档中提供的步骤,它们不会被列为孤立帐户。
不重新创建这些用户帐户有什么风险?
【问题讨论】:
-
我相信文档很清楚地说明了
They cannot be modified or dropped.让他们去吧,他们很好。 -
一些用户在通过模式比较工具创建时,我有一个红色的 x。某些权限未正确转移。我删除并重新创建了用户,红色的 x 消失了。
标签: sql sql-server database relational-database database-administration