我正在处理的项目中的任务之一是将 SQL Server 2000 上的现有数据库迁移到运行 SQL Server 2008 的新服务器。该数据库非常庞大,有 2300 万行和 78GB .mdf 文件。
迁移这种大小的数据库的最佳方法是什么?
我目前的方法是:
- 允许应用程序停机,以便应用程序不会将记录写入数据库
- 在 SQL Server 2000 上执行完整备份。
- 通过网络将备份文件移至新服务器。
- 恢复 SQL Server 2008 上的完整备份。
- 配置应用程序以引用新服务器上的数据库
- 重新启动应用程序。
- 停用 SQL Server 2000 上的数据库。
但是,我不确定这会涉及多少应用程序停机时间。
有没有更简单的方法,或者停机时间很少的方法?应用程序运行时可以进行备份吗?显然,当备份文件传输并完成恢复时,我需要停止应用程序。有兴趣听听您完成此类任务的方法。
最佳答案
如果您愿意停机:
- 分离数据库
- 将数据文件和日志文件复制到新服务器
- 将数据库附加到新服务器实例
分离将关闭数据库并最终确定文件,以便可以安全地移动它们(或通过文件系统备份进行备份)。在您重新附加之前,它将无法再在服务器实例上进行访问。
不要剪切和粘贴/移动数据和日志文件,以防复制过程中出现问题。
迁移到新服务器实例时,还有其他一些事情需要记住,例如确保新实例上存在登录、正在使用的可能已弃用的功能等。
这是 detach/attach 的引用.
关于sql-server - 迁移 SQL Server 中的海量数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14651197/