为 Azure SQL 数据库配置免许可备用副本
适用于:Azure SQL 数据库
本文介绍在使用 Azure SQL 数据库时,如何通过指定用于备用的辅助灾难恢复 (DR) 数据库来节省许可费用。
概述
当辅助数据库副本仅用于灾难恢复,并且没有运行任何工作负载或连接应用程序时,可以通过将数据库指定为备用副本来节省许可费用。 将辅助数据库指定为备用数据库时,Azure 会根据产品许可条款中的故障转移权限权益,免费向你提供授权给主数据库的 vCore 数量。 你仍需为辅助数据库使用的计算和存储资源付费。
可以在配置新的活动异地复制时指定备用副本,也可以将现有副本转换为备用副本。
虽然活动异地复制功能支持添加四个次要副本,但只能指定一个辅助数据库副本作为备用副本。 故障转移组支持每个主数据库一个辅助数据库副本,它可以是可读副本,也可以是备用副本。
在计划内或计划外的故障转移期间,备用副本将成为新的主副本,并开始产生常规 vCore 授权费用,而原始主副本将成为新的备用辅助副本,并停止产生 vCore 授权费用。
成本收益
如果你将数据库副本指定为备用副本,Azure 不会针对备用副本使用的 vCore 向你收取 SQL Server 许可费用。 但是,由于数据库是按整小时计费的,因此,如果在某个小时中间更改状态,则仍可能需要支付整个小时的许可费用。
使用即用即付模式的客户与使用 Azure 混合权益模式的客户之间的权益转换方式不同。 对于即用即付客户,vCore 在发票中享受了折扣。 对于将 Azure 混合权益用于备用副本的客户,次要副本所使用的 vCore 数量会返回到他们的许可池。
例如,作为即用即付客户,如果将 16 个 vCore 分配给辅助数据库,那么当你将辅助数据库指定为仅备用时,发票中会显示 16 个 vCore 的折扣。
在另一个示例中,如果有 16 个 Azure 混合权益许可证,并且你部署了一个具有 16 个 vCore 的数据库,那么在将辅助数据库指定为备用数据库后,16 个 vCore 会返回到许可证池以用于其他 Azure SQL 部署。
功能
下表描述了备用辅助数据库副本的功能:
功能 | 说明 |
---|---|
有限的读取工作负载 | 将数据库指定为备用数据库后,只能在辅助数据库上运行有限数量的读取工作负载,例如动态管理视图 (DMV)、备份和数据库控制台命令 (DBCC) 查询。 |
计划的故障转移 | 备用副本支持所有计划的故障转移方案,包括恢复演练、将数据库重新定位到不同区域以及将数据库返回到主实例。 辅助实例切换为主实例时,它可以处理读取和写入查询。 新的辅助实例(原来的主实例)将成为备用副本,不应该用于读取工作负载。 |
计划外故障转移 | 在计划外故障转移期间,辅助实例切换到主角色后,它可以同时处理读取和写入查询。 缓解中断并重新连接原始主实例后,它将成为新的辅助备份副本,不应该用于读取工作负载。 |
备份和还原 | 备用副本和可读辅助数据库副本的备份和还原行为是相同的。 |
监视 | 备用副本支持可读辅助副本支持的所有监视操作。 |
备用数据库副本只能用于灾难恢复。 下面列出了仅允许在备用数据库上执行的活动:
- 执行维护操作,例如 checkDB
- 连接监视应用程序
- 运行灾难恢复演练
限制
下表列出了支持的和不支持的部署模型:
部署模型 | 计算层 | 服务层 | 支持的备用副本 | 硬件 |
---|---|---|---|---|
单一数据库 | 已预配 | 常规用途 | 是 | 标准系列 (Gen5)、Fsv2 系列、DC 系列 |
单一数据库 | 已预配 | 业务关键 | 是 | 标准系列 (Gen5)、DC 系列 |
单一数据库 | 已预配 | 超大规模 | 空值 | 空值 |
单一数据库 | 无服务器 | 全部 | 否 | 空值 |
弹性池 | 全部 | 所有 | 否 | 空值 |
使用备用数据库具有以下限制:
- 只能将一个辅助数据库副本指定为备用副本。
- 不支持无服务器计算层。 如果主数据库或辅助数据库位于无服务器计算层中,则无法启用备用副本。
- 不支持 DTU 购买模型。 只能为使用 vCore 购买模型的数据库启用备用副本。
- 不支持“超大规模”服务层级。 只能将“常规用途”和“业务关键”服务层级中的数据库指定为备用数据库。
- 使用故障转移组时,在数据库级别而不是故障转移组级别分配备用权限,并且必须为故障转移组中的每个数据库单独分配备用权限。
- 当副本是次要副本的次要副本时(已知链接的过程),不支持指定次要副本作为备用副本。
先决条件
- Azure 订阅。 如果没有 Azure 试用版订阅,请在开始前创建一个试用版订阅。
- 在受支持的硬件上运行的“常规用途”或“业务关键”服务层级中主要预配的 vCore Azure SQL 数据库。 若要开始使用,请查看快速入门。
配置新的备用副本
使用 Azure 门户、PowerShell、Azure CLI 或 REST API 配置新的活动异地复制关系时,可以指定备用副本。
若要创建新的活动异地复制关系并在 Azure 门户中指定辅助数据库作为备用数据库,请执行以下步骤:
在 Azure 门户中,转到 SQL 数据库资源。
从资源菜单中的“数据管理”下选择“副本”,然后选择“+ 创建副本”以打开“创建 SQL 数据库 - 异地副本”页。
在“创建 SQL 数据库 - 异地副本”页上,在“副本配置”下选择“备用副本”作为“副本类型”。 选中此框以确认将该副本用作备用副本。
为新的备用数据库提供新的或现有服务器,然后使用“查看 + 创建”对数据库和服务器详细信息进行最终验证。
使用“创建”确认设置并创建新的备用数据库副本。
注意
你还可以在创建故障转移组时将数据库指定为备用数据库,或者在 Azure 门户中将数据库添加到现有故障转移组。
转换现有副本
可以使用 Azure 门户或“复制链接 - 更新”REST API 命令将现有副本从常规异地副本转换为备用副本,或将备用副本转换为常规异地副本。
若要转换 Azure 门户中的现有副本,请执行以下步骤:
- 转到 Azure 门户中的 SQL 数据库资源。
- 在“数据管理”下选择“副本”。
- 选择副本的省略号 (...),然后:
- 若要将常规副本转换为备用副本,请选择“转换为备用”。 选中“转换为备用副本”弹出窗口上“我确认...”旁边的框,然后选择“是”保存更改并转换副本。
- 若要将备用副本转换为常规异地副本,请选择“转换为异地”。 选中“转换为异地副本”弹出窗口上“我确认...”旁边的框,然后选择“是”保存更改并转换副本。
若要使用 REST API“复制链接 - 更新”命令转换现有副本,请将 linkType
指定为备用副本的 STANDBY
,或者使用 GEO
将现有备用副本转换回常规异地副本。
查看许可权限
可以使用 Azure 门户、PowerShell、Azure CLI 或 REST API 查看现有数据库的许可权限。
若要使用 Azure 门户检查现有数据库的许可权限,请执行以下步骤:
在 Azure 门户中,转到“SQL 数据库”。
在“概述”页上,检查“Essentials”下的“副本类型”。 值
Standby
表示你的数据库是备用副本,并且不会向你收取此数据库的 SQL 许可费用:
删除备用副本
将数据库指定为备用数据库后,不能只删除备用属性。 若要删除备用副本,必须停止复制才能结束活动异地复制关系。 复制操作停止后,数据库将成为独立数据库,并开始产生许可费用。
可以使用 Azure 门户、PowerShell、Azure CLI 或 REST API 停止异地复制。
若要通过在 Azure 门户中结束异地复制操作来删除备用副本,请执行以下步骤:
- 在 Azure 门户中,转到“SQL 数据库”。
- 在“数据管理”下选择“副本”。
- 为“备用副本”选择省略号(...)然后从弹出菜单中选择“停止复制”。 这会停止复制操作,辅助数据库现在是独立数据库而不是指定为备用数据库,并且会产生许可费用。
常见问题 (FAQ)
对定价有何影响?
辅助数据库副本需要为 SQL 许可、计算以及数据和备份的存储付费。 将数据库副本指定为备用副本时,不会向你收取次要副本所使用的 vCore 的许可费用,但你仍需为计算和存储付费。
使用备用副本大约可以节省多少费用?
使用备用副本没有包含的授权费用,相较于常规的完全可读辅助副本可节省约 35-40% 的费用,但具体节省费用因区域而异。
备用副本中有多少个 vCore 是无许可证的?
与主数据库使用的 vCore 数相同。 为了获得最佳的异地复制性能,建议使用与主数据库相同的 vCore 数配置次要副本。
是否需要拥有提供有效软件保障的 SQL Server 许可证才能使用备用副本?
否。 由于备用副本不会产生许可费用,因此不需要拥有提供有效软件保障的有效 SQL Server 许可证。
如何使用备用副本?
备用副本仅用于灾难恢复 (DR) 目的,并且不能运行任何活动的读取工作负载。 唯一可接受的是用于监视、维护的工作负载,例如运行动态管理视图 (DMV) 和 CheckDB。
是否可以将现有的可读次要副本更新为备用副本以节省费用?
是,在 Azure 门户中的“副本”窗格上。 选择省略号 (...),然后选择用于转换副本的选项。
是否可以为备用副本启用 Azure 混合权益?
指定备用副本将取代 Azure 混合权益的折扣,因此无法使用 Azure 门户修改副本的许可模型。 但是,如果希望备用副本在故障转移时使用 Azure 混合权益,则可以使用 Set-AzSqlDatabase PowerShell 或 az sql db update Azure CLI 命令将许可证类型更新为
BasePrice
(Azure 混合权益),故障转移后备用副本变为主副本时可以使用该许可证类型。故障转移期间备用副本的状态会发生什么变化?
在计划内或计划外的故障转移期间,备用副本将成为新的主副本,并开始产生常规许可费用,而原始主副本将成为新的备用辅助副本,并停止产生 vCore 许可费用。 但是,由于实例是按整小时计费的,因此,如果在某个小时中间更改状态,则仍可能需要为新的次要副本支付整个小时的许可费用。 如果原始主要副本(在故障转移后变为备用副本)使用的是 Azure 混合权益,则备用许可折扣将取代数据库使用的 Azure 混合权益。
如果将主要副本或次要副本纵向扩展到更大的 vCore 规模,该怎么办?
在纵向扩展时,最好先扩展次要副本,然后再扩展主要副本。 尽管在过渡期间辅助副本的 vCore 数量多于主要副本,但备用副本的权益仍然适用。 尽量缩短过渡期。
如果将主要副本或次要副本纵向缩减为更小的 vCore 规模,该怎么办?
在纵向缩减时,最好先缩减主要副本,然后再缩减次要副本。 尽管在过渡期间辅助副本的 vCore 数量多于主要副本,但备用副本的权益仍然适用。 尽量缩短过渡期。
如果删除主要副本和备用副本之间的异地复制关系,会发生什么?
删除异地复制后,备用数据库将成为常规的独立数据库,并开始产生许可费用。
创建新的故障转移组或向其添加数据库时,是否可以指定备用副本?
是,但仅在创建新故障转移组或在 Azure 门户中将数据库添加到现有故障转移组时。 PowerShell 和 Azure CLI 当前不可用。