将本地 SQL Server 数据库迁移到 Azure SQL 数据库



我们正在将服务器从本地服务器 (Win2008R2( 迁移到 Azure PaaS。

为了移动数据库,我们使用了Microsoft数据迁移助手 (DMA( 工具,该工具效果很好,我们可以通过 SQL Server Management Studio 连接到迁移的 Azure 数据库。

考虑到:

  • 对迁移的 Azure 数据库(表、存储过程、索引(进行了大量更改,以使用 Azure 中的应用
  • 通过 DMA 将多个本地数据库合并到 Azure 中的一个数据库中,以节省成本
  • 迁移过程中,插入/更新操作(多个表(不断修改本地数据库

问题:考虑到上述情况,迁移数据(全部与丢失/更新(的最佳和最快方法是什么?

我建议你首先仅将本地数据库的架构迁移到 Azure SQL 数据库,然后让 Azure SQL 数据同步将数据迁移到 Azure,并在 Azure SQL 数据库上保持更新。

我建议从 Azure SQL 数据库端的空架构开始,因为当 SQL 数据同步在本地和 Azure 上查找数据时,它会开始比较两个数据库,这会消耗大量资源。

在初始同步时,即使 Azure 端具有空架构,SQL 数据同步也可能会消耗本地数据库服务器上的大量资源,为此,可以使用 SQL Server 资源调控器来限制本地 SQL Server 中的数据同步会话使用的 CPU,从而避免可能影响数据库用户的巨大性能影响。

准备就绪后,可以将用户(如果 SQL 数据同步处于双向模式,则逐渐或不逐步切换(到 Azure。迁移用户后,可以从 SQL 数据同步配置中删除成员数据库(本地数据库(并停止 SQL 数据同步操作。

我不同意这里的所有答案。

如果您在Win2008R2上运行,则很有可能您使用的是旧的SQL Server(2008?2012?(,这些服务器已弃用且不适合Azure SQL数据库。而且可能该应用程序也很旧,通常不适合云。我建议你有一个好的测试阶段。

这是我的待办事项清单:

  1. 将 SQL Server 升级到本地 SQL Server 2016,并测试所有查询是否仍在正常运行
  2. 通过数据迁移助手 (DMA( 工具或新的 Azure SQL Migration 扩展(发布他的月份(测试您的 SQL Server 进入 Azure SQL 数据库Microsoft准备程度。
  3. 甚至不要想一想合并数据库会降低您的总体成本。决定是多租户还是单租户,不是因为数据库的价格。
  4. 根据迁移的大小规划停机时间。不要在修改数据库时迁移。预计停机时间。最好的方法是备份前一天的日志,然后恢复日志。

并疯狂地测试。这并不容易,因为该应用程序很旧。

祝你好运。

Visual Studio还有一个很棒的工具,用于比较不同服务器上的两个数据库之间的架构和数据。
然后,它可以使用任何更改更新目标数据库,之后你可以切换到使用 Azure DB。

此方法需要大约 5-30 分钟的停机时间,具体取决于数据量,但根据您的要求,这可能是可以接受的。

相关内容

  • 没有找到相关文章

最新更新