将SQL Server数据库从旧生产服务器移到新服务器

我们有单一的生产服务器的网站和SQL Server数据库。 我们计划为网站和SQL Serverbuild立一个新的生产服务器。 我们需要将SQL Server数据库从旧服务器移到新服务器。

那么,如何以较less的停机时间将数据库迁移/移动到新的生产服务器?

谢谢,Velu。

如果您使用SQL Server 2005/2008,则可以使用镜像:

  • 安装新的SQL Server实例
  • 在生产服务器上在该服务器上创build镜像数据库
  • 等到数据库同步
  • closures旧服务器
  • 从新服务器中删除镜像
  • 恢复镜像数据库

停机时间=删除镜像并恢复数据库的时间

如果您不想使用镜像,则可以在不进行镜像的情况下执行相同的操作:

  • 安装新的SQL Server实例
  • 从生产数据库创build备份
  • 在新服务器上复制和恢复生产DB WITH NORECOVERY选项
  • 将生产数据库转换为单用户模式
  • 进行事务日志备份
  • closures生产服务器
  • 在新服务器上复制和恢复日志WITH RECOVERY选项

停机时间=进行日志备份的时间,在新服务器上复制和恢复此备份

取决于 – 你知道多less?

一种方法是设置镜像,然后切换镜像并删除旧的服务器。 镜像,otoh,是比使用UIbuild立一个数据库的平面服务器更深入一点。

我知道以下是不是最有效率或先进的方式做事情 – 但我认为这是一种几乎任何人都可以做的最less的帮助和停机时间…

假设你正在讨论CMS的数据库,你可以在新的服务器上获得网站新位置的临时URL(我们使用外部托pipe,他们倾向于设置这个 – 临时URL通常是后缀的ip地址)。 然后通过数据库replace参考旧URL的值到新的临时值。

然后,您也可以在新的服务器上(或其它)恢复站点,replace新的URL的值。 这使您有机会testing数据库是否正常工作。 当你快乐的时候,你可以改变DNS(或Alogging或其他),所以原来的URL指向新的服务器,把所有的东西都改回来(这只需要一两分钟的时间,find并更换程序)你叔叔。 它不是最快的方式进行转移,但它应该提供最less的停机时间到您的网站和安心,它将一切工作。

你在用什么CMS?

如果数据库文件本身位于LUN上(或者您也不介意移动的其他文件),则可以将LUN从旧服务器上分离并将其附加到新的服务器上。 然后,你会做一个“创build数据库…附加”在新的一面。

而且,我越来越喜欢一个节点集群的想法,以满足未来的需求。 这样,如果您需要新的硬件,您可以将节点添加到群集中,运行节点设置并开始工作。 但是,这个假设SQL 2008+。