使用日志重播服务 (LRS) 进行迁移
Log Replay Service (LRS) 是一种工具,可用于将数据库从本地 SQL Server 自定义迁移到云中的 SQL 托管实例。 它使用日志传送技术,在需要更多控制的情况下,如果停机时间很少,或者无法使用 Azure 数据迁移服务,则使用日志传送技术非常有用。
显示日志重播服务(LRS)工作原理的
LRS 可以直接与 PowerShell、CLI cmdlet 或 API 一起使用,以手动生成和协调到 SQL 托管实例的数据库迁移。 考虑使用 LRS 的一些原因包括:
- 更好地控制数据库迁移项目
- 几乎无法容忍迁移直接转换时的停机时间
- 在环境中无法安装 DMS 可执行文件
- 缺少对数据库备份的文件访问
- 无法将环境中的网络端口连接到 Azure
了解迁移类型
LRS 有两种迁移模式。
模式 | 说明 | 建议用于 | 备份链可用性 |
---|---|---|---|
自动完成 | 还原最后一个备份文件时自动完成迁移 | 被动工作负荷 | 必须提前提供整个备份链 |
持续型 | 持续扫描新的备份文件并还原它们,从而实现数据同步。 | 活动工作负荷 | 可以在迁移期间添加备份链 |
无论模式如何,计划在 30 天内完成迁移,因为 LRS 作业将在此时间后自动取消。
保护迁移过程
若要运行 LRS,必须具有以下 Azure 基于角色的访问控制(RBAC)角色之一:订阅所有者、SQL 托管实例参与者或具有权限 Microsoft.Sql/managedInstances/databases/*
的自定义角色。
需要 Azure Blob 存储帐户,并充当 SQL Server 实例和 SQL 托管实例之间的备份文件的中间存储。 若要将 Azure Blob 存储与防火墙配合使用,需要另一个配置。 必须使用 MI 子网委派和存储服务终结点将SQL 托管实例子网添加到存储帐户的虚拟网络防火墙规则。 此外,可以使用 SAS 令牌或托管标识来访问 Azure Blob 存储帐户,但不能同时访问这两者。
提高备份和还原性能
可以将完整备份和差异备份拆分为多个文件,而不是使用单个文件来提高备份和还原性能。 这是因为可以并行读取或写入多个文件,从而减少完成备份或还原作所需的时间。
此外,启用备份压缩有助于提高网络传输速度。 压缩备份的大小较小,这意味着通过网络传输所需的时间更少。 这在将大型备份传输到 Azure 或从 Azure 传输时特别有用。
强烈建议为备份启用 CHECKSUM
,即使不需要备份也是如此。 SQL 托管实例在不 CHECKSUM
的情况下对备份执行完整性检查,这可能会增加还原数据库所需的时间。 通过启用 CHECKSUM
,可以加快还原作的速度。