选择正确的 Azure SQL 数据库功能
在自行车制造方案中,你已确定并分析了要迁移到 Azure SQL 数据库的数据库。 现在,你要计划迁移,需考虑数据可恢复性、灾难恢复、安全和其他实现细节。
你希望了解在迁移到 Azure SQL 数据库的过程中可用的支持工具和功能。
Azure SQL 数据库的优势
下面汇总了部署单一和弹性池数据库的优点:
类别 | 功能 |
---|---|
备份和恢复 | 自动备份 |
时点还原 | |
备份保留 7 天以上 | |
长期备份保留可将备份最多存储 10 年 | |
高可用性 | 99.99% 可用性保证 |
具有三个次要副本的内置可用性 | |
通过 Azure 可用性区域实现的区域冗余 | |
灾难恢复 | 数据库备份的异地还原 |
Azure 区域之间的活动异地复制 | |
服务可伸缩性 | 动态纵向扩展和纵向缩减 |
使用多个分片横向扩展 | |
使用弹性池在数据库之间共享计算资源 | |
安全性 | 支持 Microsoft Entra 身份验证 |
仅限云的安全功能,例如高级威胁防护 | |
透明数据加密 (TDE) 默认处于启用状态 | |
支持动态和静态数据掩码、行级别安全性和 Always Encrypted | |
防火墙允许列表 | |
许可 | 用于预测性成本计算的 DTU 购买模型 |
vCore 购买模型,使存储可以独立于计算进行缩放 | |
将 vCore 购买模型与 SQL Server 的 Azure 混合权益相结合,以实现高达 30% 的成本节约 |
提示
要查看迁移到 Azure SQL 数据库的优点和可用功能,请参阅使用 Azure SQL 部署 PaaS 解决方案模块。
Azure SQL 数据库的专有功能
Azure SQL 数据库支持的某些功能不可用于其他 Azure SQL 产品/服务:
功能 | 定义 |
---|---|
超大规模 | 云原生体系结构,支持可独立缩放的计算和存储,从而提供比其他层更高的灵活性和更丰富的资源。 |
自动缩放 | 具有无服务器计算层 |
自动优化(索引) | 此内置功能可自动识别并创建可提高工作负载性能的索引。 它还会验证查询性能是否已改进,并移除未使用或重复的索引。 |
弹性查询 | 支持运行桥接 SQL 数据库中多个数据库的 T-SQL 查询。 此功能对于无法更改的三部分或四部分名称的应用程序非常有用。 |
弹性作业 | 弹性作业功能是 Azure SQL 数据库的 SQL Server 代理替代项。 在某种程度上,弹性作业等效于 SQL Server 实例上提供的多服务器管理功能。 |
SQL 数据同步 | 借助此功能,可以在 SQL 数据库或 SQL Server 上运行的多个数据库之间以增量方式同步数据。 |
Query Performance Insights (QPI) | 此工具可帮助你查找要优化的查询,以提高整体工作负载性能并有效使用要为其付费的资源。 |
重要
要了解 SQL 数据库、SQL Server 与 Azure SQL 托管实例之间的其他功能差异,以及不同 Azure SQL 数据库选项之间的区别,请参阅 SQL 数据库功能。
支持的迁移选项
可通过两种模式迁移到 Azure SQL 数据库:联机和脱机。 联机模式的故障时间最短或没有故障时间,而脱机模式在迁移过程中存在故障时间。
工具 | 迁移模式 |
---|---|
Azure 数据库迁移服务 | Offline |
事务复制 | 联机 |
Azure Migrate | Offline |
SQL 数据同步 | * 脱机 |
导入导出向导/BACPAC | Offline |
大容量复制(bcp 实用工具) | Offline |
Azure 数据工厂 | Offline |
数据迁移助手 (DMA) | Offline |
* 可能会对性能产生较大影响,具体取决于工作负载。
注意
虽然数据库迁移助手是一个可用且实用的工具,但我们建议你使用 Azure 数据库迁移服务以开展大型迁移并获取增强的整体体验。
迁移性能
请在迁移到 Azure SQL 数据库时考虑以下建议:
- 监视源上的数据文件 I/O 和延迟,并缓解任何瓶颈。
- 将目标 Azure SQL 数据库纵向扩展为业务关键 Gen5 8 vCore,或使用超大规模服务层级将日志文件的延迟降到最低。
- 确保网络带宽可以适应最大日志引入速率。
- 选择最高的服务层和计算大小以获得最高传输性能,并在迁移后纵向缩减。
- 最大程度地缩短 BACPAC 文件和目标数据中心之间的距离。
- 在迁移期间禁用自动更新和自动创建数据统计。
- 对表和索引进行分区,删除已编制索引的视图,并在迁移后重新创建它们。
- 请考虑将很少查询的历史数据迁移到 Azure SQL 数据库中的单独数据库,并使用弹性查询对其进行查询。
重试应用程序连接
迁移到 Azure SQL 数据库时,请务必预测连接到数据库资源时偶尔出现的暂时性故障,并实现适当的重试逻辑方法。 在程序终止之前设置最大重试次数也很重要。
建议在首次重试时至少等待 5 秒。 每一个后续的重试都应该以指数形式增加延迟,最多不超过 60 秒。
注意
如果 SELECT 语句失败并出现 SQL 数据库暂时性错误,请不要直接重试。 请改用新连接中的 SELECT 语句。
要详细了解连接重试主体,请参阅排查 SQL 数据库和 SQL 托管实例中的暂时性连接错误。