2

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

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

我目前的方法是:

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

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

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

4

1 回答 1

2

如果您愿意停机:

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

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

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

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

这是detach/attach的参考。

于 2013-02-01T16:54:33.027 回答