将数据移到 Azure SQL 数据库

已完成

虽然有可用于迁移整个架构及其数据的方法,但在某些情况下,只需要数据库的一部分。 幸运的是,我们看到的许多方法都支持部分数据迁移,我们将了解其他一些方法。

在我们的自行车制造商场景中,假设该公司有一个本地 SQL Server 数据库,其中包含几年的销售、客户和产品数据。 该公司希望迁移到 Azure SQL 数据库,以利用云的可伸缩性和灵活性。 但是,他们只需要迁移客户表和产品表,因为他们出于安全原因想要将其销售数据保留在本地。

SQL 数据同步

借助数据同步功能,你可以在 Azure SQL 数据库或本地 SQL Server 上运行的多个数据库之间以增量方式同步数据。 你还可以在迁移后使用数据同步使源数据库和目标数据库保持同步。 SQL 数据同步使用插入、更新和删除触发器来跟踪更改。 更改记录在用户数据库中的端表内。

由于此功能能够双向同步数据,因此是适合混合应用程序的绝佳选择。 它对考虑迁移到云的客户特别有吸引力,因为它允许他们快速将一些应用程序转换到 Azure。

Diagram showing the SQL Data Sync architecture.

数据同步基于中心拓扑,你可在这里定义同步组中的数据库之一,以用作中心数据库。 同步组可以有多名成员,并且只能在中心数据库和单个数据库之间同步更改。 数据同步使用 INSERTUPDATEDELETE 触发器通过在用户数据库上创建的一个历史表来跟踪更改。

与延迟较低的事务性复制相比,数据同步的一个缺点是它对性能的影响更大。 这意味着在使用数据同步时,对一个数据库进行更改需要更多资源。

创建同步组时,它会要求你提供一个负责存储同步组元数据的数据库。 元数据位置可以是新数据库或现有数据库,只要位于同步组所在的同一区域即可。

Screenshot showing the new sync group page from Azure portal.

你可以根据需要指定同步组属性,如计划同步、冲突解决选项以及是否使用专用链接。

若要详细了解如何配置 SQL 数据同步,请参阅教程:在 Azure SQL 数据库和 SQL Server 中的数据库之间设置 SQL 数据同步

大容量复制

bcp 实用工具允许将数据从 SQL Server 表批量导出到数据文件,反向亦然。 该实用工具用途广泛,支持 SQL Server 与其他程序或数据库之间的数据传输。

除非有预先存在的格式化文件可用,否则了解表的架构和数据类型对于有效使用 bcp 命令至关重要。

Azure 数据工厂

可以使用 Azure 数据工厂进行数据迁移,而不是整个数据库迁移。 Azure 数据工厂可以从源 SQL Server 数据库迁移和转换数据,它通常用于商业智能工作负载 (BI)。