我目前正在制定迁移计划,将我们的 SQL Server 迁移到一些新硬件。
当前安装的是 SQL Server 2005 标准版:它以前是集群的,但节点在某个时候被移除了,但仍配置为集群。新服务器将是 SQL Server 2008 标准机器,非集群。
我想知道是否应该将主数据库从旧机器转移到新机器?我的意思是,虽然它托管的数据库将是相同的,但配置将会有所不同(不同版本且不是集群)。
除了转移用户数据库外,我的方法是编写所有登录、用户、作业等脚本,并在新机器上恢复它们,但我担心会忘记什么?另一方面,由于版本不同(SQL 2005 与 2008 以及集群与非集群),我担心转移主数据库时会出现兼容性问题。
有人可以为我解释一下每个选项相对于其他选项的注意事项吗?
答案1
您不应将主数据库还原到与备份数据库不同的目标计算机。
由于您说备份是(失败的)集群的一部分,因此您确实不想将其还原到非集群服务器(具有完全不同的主机名)。
您不应该这样做的原因之一是,每个 SQL Server 安装都会生成授予数据库服务器权限的本地用户和组帐户,以及特定于该 SQL Server 实例的加密密钥。
在其他地方恢复主数据库意味着信息将不再与原始服务器匹配。
也就是说,主数据库确实包含所有安全凭证和登录信息,因此您可能需要暂时恢复它某处来提取这些信息。
作业未存储在主数据库中。
答案2
我会转移主数据库(可能msdb
也是modal
),但我不会master
在新服务器上调用它。我会将其恢复为类似的东西master-old
,这样您至少可以查询它以获取作业详细信息,或者在需要时注销登录。但我真的只会将其视为一种故障保护,以防您忘记某些东西,或者您的登录/作业/任何脚本失败。
进行数据库迁移时,很多东西都可能脱节,SSIS 包、作业、登录名都可能有点挑剔。如果可以,请在迁移时让两个数据库都保持在线,或者至少在虚拟机上练习一下。
简而言之,将 2005 年的群集版本恢复master
到 2008 年的非群集版本上master
几乎肯定会导致糟糕的结果。我认为。