閱讀英文

共用方式為

在 Azure SQL 托管实例中的管理操作的持续时间

适用于:Azure SQL 托管实例

本文详细介绍了 Azure SQL 托管实例中管理操作的步骤和时间。

有关管理操作(例如部署和故障转移)相关的基础流程概述,请参阅 管理操作概述

管理的操作步骤

管理 Azure SQL 托管实例涉及以下作:

  • 创建:创建新的 SQL 托管实例时发生的操作。 这包括创建或调整基础 虚拟机(VM)组的大小,以及部署 SQL 数据库引擎进程。
  • 更新:更改现有 SQL 托管实例的属性(例如缩放计算或存储、更改服务层或更新实例配置)时发生的作。 进行更新通常涉及创建或调整基础 虚拟机 (VM) 组的大小,以及数据种子设定,然后故障转移到新的 SQL 数据库引擎进程。
  • 删除:删除现有 SQL 托管实例时发生的作,包括清理与实例关联的 VM 组等资源。

创建操作

创建作在虚拟网络子网中启动新的 SQL 托管实例的部署,同时为实例设置计算、存储和 SQL 数据库引擎环境。

创建过程通常经历三个阶段:

  1. 验证请求:提交的参数在语法上和语义上进行了验证。 如果参数无效(例如错误的子网或不支持的 SKU),作将立即失败并出现错误。
  2. 创建或调整 VM 组的大小:创建或扩展 VM 组以托管新实例。 操作的持续时间取决于实例是否具有区域冗余特性。
  3. 启动新的 SQL 实例:在分配的 VM 上部署和启动 SQL 数据库引擎进程。

更新操作

更新作修改现有 SQL 托管实例的属性,例如缩放计算或存储、更改服务层或更新实例配置。

更新过程通常经历五个阶段:

  1. 验证请求:提交的参数在语法上和语义上进行了验证。 根据当前实例配置和请求的更改检查支持的更新类型。 如果请求无效,作将失败并出现错误。
  2. 创建或调整 VM 组的大小:根据更改,将调整现有 VM 组的大小或创建新的 VM 组,例如在以下更新作中:
    • 纵向扩展或纵向缩减存储
    • 扩展或缩减计算资源
    • 更改服务层
    • 更改硬件
    • 调整维护窗口
    • 启用或禁用区域冗余
  3. 启动 SQL 实例:使用更新的配置初始化新的 SQL 数据库引擎进程。
    • 如果创建新的 VM 组,或者调整现有 VM 组的大小,则会发生完整的 SQL 数据库引擎部署。
  4. 设定种子/附加存储:在新建或调整大小的 VM 组中准备数据库环境。 此实例在此过程中可用。
  5. 做好准备,然后进行故障转移:流量会被重定向到新的实例。
    • 只有在故障转移时,当流量被重新路由到新的 SQL 数据库引擎进程时,实例才会不可用。 在Business Critical 服务层级中,实例最多可能会不可用 20 秒,而在General Purpose 服务层级中,实例最多可能会不可用 2 分钟。
  6. 清理旧的 SQL 实例:解除分配旧虚拟机并删除不再需要的 SQL 进程。

重要

建议不要在长时间运行的事务(如导入数据、数据处理作业或索引重建)期间同时进行计算或存储的缩放,或更改服务层,因为操作结束时的数据库故障转移会取消所有正在进行的事务。

删除操作

Delete 操作会删除现有的 SQL 托管实例并清理相关资源。 一旦触发删除操作,将禁用 SQL 托管实例的计费。 删除操作的持续时间不会影响计费。

删除过程通常经历四个阶段:

  1. 验证请求:提交的参数在语法上和语义上进行了验证。 如果请求无效,作将失败并出现错误。
  2. 结尾日志备份:如果实例不为空,则会对每个数据库执行结尾日志备份,以确保删除实例后不会丢失任何数据。 备份是根据每个数据库的保留策略进行的。
  3. SQL 实例清理:从 VM 组中删除 SQL 数据库引擎进程,并解除分配与实例关联的资源。
  4. 删除 VM 组:如果子网中存在其他实例,则 VM 组对这些实例保持不变。 如果删除的实例是子网中的最后一个实例,VM 组将同步删除为最后一步。 删除子网中的最后一个实例时,删除 VM 组会自动启动删除虚拟群集。

区域冗余

启用 区域冗余 后,计算层和存储层分布在多个可用性区域,以确保高可用性和数据完整性。

区域冗余延长了管理作的持续时间,以适应跨多个可用性区域对资源的更改。

管理操作持续时间

管理作的持续时间因 SQL 托管实例的服务层而异。 以下部分提供有关每个服务层管理作持续时间的详细信息:

下表详细介绍了 常规用途 服务层级中的管理操作的持续时间,包括长时间运行的部分,以及每个操作的估计持续时间。

管理操作 长时间运行的分段 预计持续时间
创建操作
创建新实例 创建或调整 VM 组的大小 95% 的操作可在 30 分钟内完成
创建新的区域冗余实例 创建或调整具有区域冗余的 VM 组的大小 95% 的操作可在 4 小时内完成
更新操作
更改基本实例属性,例如许可证类型或Microsoft Entra 没有 最长 1 分钟
缩放存储 没有 99% 的操作可在 5 分钟内完成
缩放计算 (vCores) 创建或调整 VM 组的大小 95% 的操作可在 60 分钟内完成
更改为 业务关键 服务层级 调整 VM 组的大小
+ 数据库种子设定
95% 的操作可在 60 分钟内完成 + 为数据库设定种子的时间
更改硬件或维护窗口 创建或调整 VM 组的大小 95% 的操作可在 60 分钟内完成
启用区域冗余 创建新的 VM 组
+ 数据库种子设定
95% 的操作可在 4 小时内完成 + 为数据库设定种子的时间
禁用区域冗余 创建新的 VM 组
+ 数据库种子设定
95% 的操作可在 30 分钟内完成 + 为数据库设定种子的时间
删除操作
删除非最后一个实例1 所有数据库的尾部日志备份 90% 的操作可在 1 分钟内完成。
删除最后一个实例2 所有数据库的日志结尾备份
删除虚拟群集
95% 的操作可在 90 分钟内完成

1 如果群集中有多个 VM 组,则删除该组中的最后一个实例会立即触发 异步删除 VM 组。
2 删除子网中最后一个实例将立即触发同步删除虚拟群集的操作。

你的实例可以在所有管理操作期间使用,但在最终的故障转移步骤中,当流量被重定向至新的 SQL 数据库引擎进程时不可用。 在 “业务关键 ”服务层级中,实例最多 20 秒不可用,而在 “常规用途 ”服务层级中,实例最多可以 2 分钟。

播种持续时间

Seeding 是在 SQL 数据库引擎进程间初始化和同步数据的过程。 播种过程的时间主要取决于数据库的大小。 平均而言,种子设定的速率约为每小时 220 GB。

播种是通过八个并行通道同时执行的。 在任何给定时间,都选择八个数据库进行数据传输。 一旦一个数据库传输完成,下一个可用数据库就会分配到现在的免费通道,这可确保连续高效的吞吐量。

下表提供以下信息:

  • 大多数案例的可能估计种子设定时间
  • 95% 案例的预计最大估计种子设定时间
数据库大小范围(GB) 可能播种时间 预期最大做种时间
0 - 32 GB 30 分钟 1 小时
32 - 256 GB 1.5 个小时 2 小时
256 - 512 GB 2 小时 5 小时
512 - 1024 GB 5 小时 9 小时
1024 - 2048 GB 9 小时 15小时
2048 - 3072 GB 10 小时 16 个小时
3072 - 4096 GB 12 小时 18 小时
大于 4096 GB 15小时 20 小时