在SQL Server中迁移海量数据库

时间:2013-02-01 16:52:59

标签: sql-server database backup database-migration

我正在处理的项目中的一项任务是将SQL Server 2000上的现有数据库迁移到运行SQL Server 2008的新服务器。此数据库非常庞大,拥有2300万行和78GB mdf文件。

迁移此大小的数据库的最佳方法是什么?

我目前的做法是:

  • 允许应用程序停机,以便应用程序不会将记录写入数据库
  • 在SQL Server 2000上执行完整备份。
  • 通过网络将备份文件移动到新服务器。
  • 在SQL Server 2008上恢复完整备份。
  • 将应用程序配置为引用新服务器上的数据库
  • 重启申请。
  • 在SQL Server 2000上停用数据库。

但是,我不确定涉及多少应用程序停机时间。

是否有更简单的方法,或者涉及非常少的停机时间的方法?可以在应用程序运行时进行备份吗?显然,我需要在传输备份文件并完成恢复时停止应用程序。有兴趣听听你对此类任务的处理方法。

1 个答案:

答案 0 :(得分:2)

如果您对停机时间开放:

  • 分离数据库
  • 将数据文件和日志文件复制到新服务器
  • 在新服务器实例上附加数据库

分离关闭数据库并最终确定文件,以便安全地移动(或通过文件系统备份备份)。在重新连接之前,它将不再可在服务器实例上访问。

请勿剪切和粘贴/移动数据和日志文件,以防万一在复制过程中发生爆炸。

迁移到新服务器实例时还需要记住其他一些事项,例如确保新实例上存在登录,使用中可能已弃用的功能等等。

以下是detach/attach的参考资料。