2

我目前正在研究灾难恢复计划和恢复 master/msdb/model 的备份。

理论上,如果我将 master、msdb、model 和用户数据库恢复到全新的服务器安装(使用相同的服务包等),那么我将拥有原始服务器的精确副本,包括所有维护计划和作业以及所有内容。

但是,如果新的服务器名称与原来的不同,会发生什么?它只是应付,还是在这种情况下需要一些额外的步骤?

(MSDN 文档在这些方面有点简短)

我在 SQL 2005 上。

编辑:下面有几个答案很有帮助,但据我所知,他们都没有清楚地回答这个问题。我的问题是:在恢复 master、msdb 等之后(假设我没有使用任何 SQL 加密的东西)如果新服务器和 SQL 实例的名称与原来的名称不同,一切都会正常吗?还是我必须保持相同的名字?已接受的答案勾号仍有待获取!

4

2 回答 2

2

正确,一切都应该相同并准备就绪。

此处描述了服务器名称更改:如何:重命名承载 SQL Server 2005 独立实例的计算机

编辑,根据评论:

当您恢复到 BCP 服务器时,您实际上是在更改承载 SQL Server 实例的服务器名称。你做了一sp_dropserver/sp_addserver点点来让所有东西都对齐(基本上,你修复了@SERVERNAME)

再次编辑:

为了回答您的问题,SQL Server 将运行。除了依赖与物理服务器名称匹配的@@SERVERNAME 的任何代码。

@@SERVERNAME 从主数据库中获取信息。如果您恢复 master,则实例认为它具有旧名称。所以这是一个有效的重命名。

但是,任何客户端都不关心:它们使用 DNS/物理服务器名称来查找服务器。

@@SERVERNAME下有关此的更多信息与 SERVERPROPERTY 不同,后者将获取物理服务器名称。

于 2009-04-16T11:28:24.133 回答
2

如果您的数据库使用 SQL 加密功能或链接服务器(他们的凭据在内部加密),那么您必须确保计算机 SID 或 AD 域保持不变,或者您需要备份“服务主密钥”(SMK)。

我们曾经遇到过这样的问题(当然是在灾难之后:))。虽然我们没有使用加密数据,但我们无法链接到远程服务器;唯一的可能性是丢弃旧的加密 SMK 并生成新的。如果我们在该服务器上加密了数据,那么它们就会丢失。

MSDN:BACKUP SERVICE MASTER KEY(Transact-SQL)(及其他相关文章)

于 2009-04-16T11:50:51.817 回答