我们计划将所有数据从MariaDB迁移到SQLServer。任何人都可以提出任何迁移数据的方法的建议,这样就无需停机,也不会丢失数据。
在这种情况下,我在这里浏览了几篇文章,但并没有太多想法。
答案 0 :(得分:0)
您可以研究用于迁移数据的SQL Server Integration Services功能。
或者您可以在新的SQL Server实例中使用链接服务器手动创建迁移脚本。
或者您可以使用BCP执行批量导入(这是非常快的,但是需要中间步骤才能将数据放入文本文件中。)
更重要的是您如何实现“无停机”要求。我想迁移例程需要一些功能要求,而使用一般的迁移工具可能很难实现这些功能要求,例如:
可以分批/多次执行迁移(跳过已迁移的数据),并且
可以在不同的解决方案中实现迁移的不同阶段,例如历史数据的批量导入(使用文本文件和暂存表)(不再更改),但是可以通过实时数据库连接进行实时查询MariaDB / MySQL数据库中的最新更新。
迁移策略还可能很大程度上取决于MariaDB / MySQL中数据的大小以及数据库及其数据的结构。也许您想保留自动生成的主键值,因为系统要求它们保持不变。也许您需要对某些奇异表字段使用不同的数据类型。也许您需要重新实现一些数据库逻辑(例如存储过程和函数)。等等。
很难就此类迁移项目提供一些临时建议;正如Tim Biegeleisen所说,即使对于“小型”数据库,这也可能是一项相当复杂的工作。实际上,它总是需要进行大量的研究,大量的准备工作,测试运行(在使用数据库备份的测试环境中),更多的测试运行,最终的测试运行等。并且-当然-一些分析,指标,日志记录和报告进行故障排除(并了解实际迁移期间的期望)。如果迁移将长期进行,则需要确保它不会冻结实时生产环境,并且在迁移期间可能还需要某种形式的进度指示。
并且-最后但并非最不重要的一点-您肯定希望有一个“计划B”或快速返回策略,以防实际迁移失败(尽管进行了所有仔细的准备)。
希望我没有忘记什么...;-)