本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
优化SQL服务器备份策略
概述
大多数组织都在寻找合适的解决方案来保护其在 SQL Server on Amazon 上的数据,EC2以满足其当前的恢复点目标 (RPO)、自上次备份以来的最大可接受时间,以及恢复时间目标 (RTO)(服务中断和服务恢复之间的最大可接受延迟)的要求。如果您在EC2实例上运行 SQL Server,则有多个选项可用于创建数据备份和恢复数据。在 Amazon 上保护SQL服务器数据的备份策略EC2包括以下内容:
-
使用支持 Windows 卷影复制服务
(VSS) 的 Amazon Elastic Block Store (AmazonEBS) 快照进行服务器级备份或 AWS Backup -
在服务器中使用本机备份和恢复
进行数据库级备份 SQL
对于数据库级本机备份,您有以下存储选项:
-
带有 Amazon EBS 卷的本地备份
-
网络文件系统备份,使用亚马逊(FSx适用于 Windows 文件服务器)或亚马逊(适用FSx于 Windows 文件服务器) NetApp ONTAP
-
使用网络备份到亚马逊简单存储服务 (Amazon S3) Simple Service AWS Storage Gateway
-
直接备份到亚马逊 S3 SQL 服务器版 2022
本节执行以下操作:
-
重点介绍可帮助您节省存储空间的功能
-
比较不同后端存储选项之间的成本
-
提供深入文档的链接,以帮助实施这些建议
使用VSS已启用快照的服务器级备份
VSS启用快照的架构使用 AWS Systems Manager 运行命令在您的SQL服务器实例上安装VSS代理。您还可以使用 Run Command 调用将操作系统和应用程序缓冲区刷新到磁盘、暂停 I/O 操作、拍摄EBS卷 point-in-time快照,然后恢复 I/O 的整个工作流程。
此 Run Command 会自动创建连接到目标实例的所有EBS卷的快照。您还可以选择排除根卷,因为用户数据库文件通常存储在其他卷上。如果您对多个EBS卷进行条带化处理,为SQL服务器文件创建单个文件系统,Amazon EBS 还支持使用单个命令实现崩溃一致的多卷快照。API有关VSS启用应用程序一致性的EBS快照的更多信息,请参阅 A
下图显示了使用VSS启用快照的服务器级备份的架构。
请考虑使用VSS已启用快照的以下好处:
-
数据库实例的第一个快照包含完整数据库实例的数据。相同数据库实例的后续快照为增量快照,这意味着仅会保存在最新快照后更改的数据。
-
EBS快照提供 point-in-time恢复。
-
如果使用 Amazon 对实例进行加密,EBS或者使用对实例中的数据库进行加密TDE,则该实例或数据库将使用相同的加密方式自动恢复。
-
您可以复制您的自动跨区域备份。
-
当您从快照恢复EBS卷时,该卷将立即可供应用程序访问。这意味着,在从快照恢复SQL服务器的一个或多个底层EBS卷后,您可以立即将服务器置于联机状态。
-
默认情况下,还原后的卷会在应用程序首次尝试读取卷时从 Amazon S3 获取底层块。这意味着从快照恢复EBS卷后,性能可能会出现延迟。卷最终捕获到标称性能。但是,您可以使用快速快照恢复 () FSR 快照来避免这种延迟。
-
您可以对EBS快照使用生命周期管理
。
使用VSS已启用快照时,请考虑以下限制:
-
您无法使用SQL服务器实例的加密快照执行跨区域 point-in-time恢复。
-
您无法创建未加密实例的加密快照。
-
您无法恢复单个数据库,因为快照是在EBS卷级别拍摄的。
-
您无法将实例还原为自身。
-
数据库实例的快照必须使用与数据库实例相同的 AWS Key Management Service (AWS KMS) 密钥进行加密。
-
在快照备份过程中,存储 I/O 会暂停几分之一秒(大约 10 毫秒)。
SQL服务器备份使用 AWS Backup
您可以使用AWS Backup
下图显示了使用 SQL Server on 的备份和还原解决方案EC2的体系结构 AWS Backup。
请考虑使用备份SQL服务器的以下好处 AWS Backup:
-
您可以自动备份计划、保留管理和生命周期管理。
-
您可以将备份策略集中到整个组织中,跨多个账户和。 AWS 区域
-
您可以集中监控备份活动并发出警报。 AWS 服务
-
您可以为灾难恢复计划实施跨区域备份。
-
该解决方案支持跨账户备份。
-
您可以使用二级备份加密来执行安全备份。
-
所有备份都支持使用加密密钥进行 AWS KMS 加密。
-
该解决方案适用于TDE。
-
您可以从 AWS Backup 控制台中还原到特定的恢复点。
-
您可以备份整个SQL服务器实例,其中包括所有SQL服务器数据库。
数据库级备份
这些方法使用微软SQL服务器的本机备份功能。您可以备份SQL服务器实例上的单个数据库并恢复单个数据库。
这些用于本机SQL服务器备份和恢复的选项还支持以下内容:
-
压缩备份和多文件备份
-
完整备份、差异备份和 T 日志备份
-
TDE-加密的数据库
SQL服务器原生备份和还原到 Amazon S3
SQLAmazon 上的服务器EC2支持SQL服务器数据库的本机备份和恢复。您可以对SQL服务器数据库进行备份,然后将备份文件还原到现有数据库、新的SQL服务器EC2实例、Amazon RDS for SQL Server 或本地服务器。
Storage Gateway 是一项混合云存储服务,它为本地应用程序提供对几乎无限的云存储的访问权限。您可以使用 Storage Gateway 将微软SQL服务器数据库直接备份到 Amazon S3,从而减少本地存储占用空间,并使用 Amazon S3 获得持久、可扩展且经济实惠的存储。
下图显示了使用 Storage Gateway 和 Amazon S3 的本机备份和还原解决方案的架构。
考虑将本机SQL服务器备份与 Storage Gateway 配合使用有以下好处:
-
您可以将存储网关映射为EC2实例上的服务器消息块 (SMB) 文件共享,并将备份发送到 Amazon S3。
-
备份直接存入 S3 存储桶或通过 Storage Gateway 文件缓存。
-
支持多文件备份。
请考虑使用 Storage Gateway 进行本机备份的以下限制:
-
必须为每个单独的数据库设置备份和恢复。
-
您必须为备份文件管理 Amazon S3 生命周期政策。
有关如何设置 Storage Gateway 的更多信息,请使用 AWS 博客上的 AWS Storage Gateway帖子查看 Amazon S3 中的存储SQL服务器备份
SQL服务器本机备份到EBS卷
您可以对SQL服务器数据库进行本机备份,并将文件存储在 Amazon EBS 卷中。Amazon EBS 是一项高性能的数据块存储服务。EBS卷是弹性的,支持加密。它们可以分离并附加到EC2实例。您可以在相同EBS卷类型或不同EBS卷类型的EC2实例上备份SQL服务器。备份到其他EBS卷的一个好处是可以节省成本。
下图显示了EBS卷的本机备份的体系结构。
考虑使用SQL服务器本机EBS卷备份的以下好处:
-
您可以备份SQL服务器EC2实例上的单个数据库并恢复单个数据库,而不必恢复整个实例。
-
支持多文件备份。
-
您可以使用SQL服务器代理和服务器作业引擎安排备份作业。SQL
-
您可以通过选择硬件来实现更高的性能。例如,您可以使用 st1 存储卷来实现更高的吞吐量。
请考虑使用本机EBS卷备份的以下限制:
-
您必须手动将该EBS卷中的备份移至 Amazon S3。
-
对于大型备份,您必须管理 Amazon 上的磁盘空间EC2。
-
在EC2实例上,Amazon EBS 吞吐量可能是一个瓶颈。
-
在 Amazon 上存储备份需要额外的存储空间EBS。
SQLFSx适用于 Windows 文件服务器的 Amazon 服务器本机备份
Amazon FSx for Windows File Server
下图显示了 Windows 文件SQL服务器的本机服务器备份FSx的体系结构。
考虑使用本机SQL服务器备份到 Windows 文件服务器FSx的以下好处:
-
您可以将SQL服务器数据库备份到 Amazon FSx 文件共享中。
-
您可以备份SQL服务器实例上的单个数据库并恢复单个数据库,而不必恢复整个实例。
-
支持多部分备份。
-
您可以使用SQL服务器代理和作业引擎安排备份作业。
-
与 Amazon 相比,这些实例的网络带宽更高EBS。
在 Windows 文件服务器上使用本机SQL服务器备份时,请FSx考虑以下限制:
-
您必须使用 AWS Backup 或手动将备份从亚马逊移至 Amazon FSx S3 AWS DataSync。
-
在 Amazon 上,大型备份可能需要额外的磁盘空间管理开销FSx。
-
EC2实例网络吞吐量可能是一个瓶颈。
-
需要额外的存储空间才能存储 Windows 文件服务器FSx的备份。
SQL服务器备份到 Amaz FSx on NetApp ONTAP
带ONTAP有 f FSx or 的快照始终保持崩溃一致性,但它们需要您暂停(或暂停)数据库的 I/O 才能创建应用程序一致的快照。您可以将 NetApp SnapCenter (一种带有特定应用程序(包括SQL服务器)插件的编排工具)与 for 一起使用,FSxONTAP以创建应用程序一致的快照并保护、复制和克隆您的数据库,无需支付额外费用。
NetApp SnapCenter
NetApp SnapCenter 是一个用于实现应用程序一致性数据保护的统一平台。 SnapCenter 将快照称为备份。本指南采用相同的命名惯例。 SnapCenter 提供了用于管理应用程序一致性备份、恢复和克隆的单一管理面板。您可以为特定的数据库应用程序添加 SnapCenter 插件来创建应用程序一致性备份。SQL服务器 SnapCenter 插件提供以下功能,可简化您的数据保护工作流程。
-
完整备份和日志备份的粒度备份和还原选项
-
就地还原并恢复到其他位置
有关更多信息 SnapCenter,请参阅 AWS 存储博客上的 “使用 NetApp SnapCenter Amazon FSx 保护您的SQL服务器工作负载
备份成本优化
以下选项可以帮助您降低在上存储SQL服务器备份的成本 AWS。
-
在创建备份文件期间启用SQL服务器压缩
,并将尽可能小的文件发送到存储器。例如,3:1 的压缩比表示您节省了大约 66% 的磁盘空间。要查询这些列,您可以使用以下 Transact-SQL 语句: SELECT backup_size/compressed_backup_size FROM msdb..backupset;
。 -
对于传送到 S3 存储桶的备份,启用 Amazon S3 智能分层
存储类可将存储成本降低 30%。 -
对于用于 Windows File Server 或 FSx Windows File Server 的备份,使用单个可用区可节省 50% 的成本(与使用多个可用区相比)。FSx ONTAP有关定价信息,FSx请参阅亚马逊 Windows 文件服务器定价
和亚马逊了解FSx定 NetApp ONTAP价 。 -
S SQL erver 2022 最有效的选择是直接备份到亚马逊 S3。您可以避开 Storage Gateway,从而节省额外成本。
备份的基准测试结果
本节根据对本指南中涵盖的备份解决方案进行性能基准测试的结果,从成本和性能的角度比较了示例 1 TB 数据库的以下选项。
-
EC2实例规格 — 带有 Windows Server 2019 和 Server 2019 开发者版的 r5d.8xlarge SQL
-
数据库规格-TDE 禁用后大小为 1 TB
测试是以 r5d.8xlarge 实例和 1 TB SQL 服务器数据库作为源进行的。源系统是根据最佳实践配置的,源数据库包含四个数据文件(每个文件为 250 GB)和一个日志文件(50 GB),分布在不同的 gp3 卷上。SQLServer BACKUP
native 命令包括写入 10 个备份文件,使用压缩来优化备份性能,减少通过网络发送和写入目标的数据量。在所有测试案例中,存储性能都是瓶颈。
这些类型的测试几乎有无穷无尽的可能配置。该测试的重点是针对性能、成本、可扩展性和实际用例进行优化。下表显示了为备份目标选项捕获的性能指标。
备份选项 | 级别 | 运行时长(大约) | 备份速率 | USD每月费用* |
---|---|---|---|---|
本机备份到本地 EBS st1HDD,2 TB | 数据库 | 00:30:46 分钟 | 554.7 Mbps | 92.16 美元 |
本机备份到本地 EBS SSD gp3,2 TB | 数据库 | 00:22:00 分钟 | 512 Mbps | 193.84 美元 |
Windows 文件服务器FSx的本机备份HDD,2 TB @512 Mbps 吞吐量 | 数据库 | 00:20:58 分钟 | 814.0Mbps | 1,146 美元 |
Windows 文件服务器FSx的本机备份SSD,2 TB @512 Mbps 吞吐量 | 数据库 | 00:20:00 分钟 | 814.0Mbps | 1,326 美元 |
使用 2 TB gp3 原生备份到 S3 文件网关 m6i.4xlarge(16 vCPU,64 GB) | 数据库 | 00:23:20 分钟 | 731.5Mbps | 470.42 美元 |
EBSVSS快照 | EBS音量 | 00:00:02 秒 00:00:53 秒 |
N/A 快照 | 51 美元 |
AWS Backup (AMI备份) | AMI | 00:00:04 秒 00:08:00 分钟 |
N/A 快照 | 75 美元 |
本机SQL服务器直接备份到亚马逊 S3(SQL服务器 2022) | 数据库 | 00:12:00 分钟 | 731.5Mbps | 前 50 TB /月,每 GB 0.023 美元/月 23.55 美元 |
本机备份到 f FSx o ONTAP r(使用 SnapCenter) | 数据库 | – | – | 440.20 美元 |
上表假设以下内容:
-
数据传输和 Amazon S3 费用不包括在内。
-
存储价格包含在实例定价中。
-
费用以该
us-east-1
地区为准。 -
通过多个备份,IOPS吞吐量增长10%,每个月的总体变化率为10%。
测试结果显示,最快的选择是将本机SQL服务器数据库备份到 Window FSx s 文件服务器。备份到 Storage Gateway 和本地连接的EBS卷是更具成本效益的选择,但性能较慢。对于服务器级备份 (AMI),我们建议使用 AWS Backup 以获得最佳性能、成本和可管理性。
成本优化建议
了解在 Amazon 上备份SQL服务器的可能解决方案EC2是保护数据、确保满足备份需求以及制定从关键事件中恢复的计划的关键。本节探讨的备份和还原SQL服务器实例和数据库的不同方法可以帮助您设计保护数据并满足组织要求的备份和还原策略。
本节介绍以下备份选项:
-
压缩
-
Amazon S3 Intelligent-Tiering
-
单可用区
-
Backup to URL
为这些选项中的每一个提供的指导都是高级的。如果您希望在组织中实施这些建议中的任何一项,我们建议您联系您的客户团队。然后,该团队可以与 Microsoft Speciality SA 接触,领导对话。你也可以通过发送电子邮件至 optimize-microsoft@amazon.com 联系我们。
总之,我们提出以下建议:
-
如果您使用的是 S SQL erver 2022,那么备份到 Amazon S3 是最具成本效益的选择。
-
如果您使用的是 S SQL erver 2019 及更早版本的SQL服务器,请考虑将备份到 Amazon S3 支持的 Storage Gateway 作为最具成本效益的选择。
压缩
压缩的目标是减少每次备份消耗的存储空间,这对于各种存储选项都有好处。您必须在服务器实例
BACKUP DATABASE <database_name> TO DISK WITH COMPRESSION
(ALGORITHM = QAT_DEFLATE)
Amazon S3 Intelligent-Tiering
对于传送到 Amazon S3 存储桶的备份,您可以启用 Amazon S3 智能分层作为您
下图显示了基于 S3 智能分层的解决方案的架构。
默认情况下,写入 S3 存储桶的备份文件使用标准层。要将备份文件从标准层转换为 S3 智能分层,必须创建生命周期规则。您也可以使用启用 S3 智能分层。AWS Management Console有关更多信息,请参阅文档中的 Amazon S3 智能分层使用入门
单可用区
要创建单可用区文件系统,请在创建FSx适用于 Windows 文件服务器的文件系统时选择单可用区选项。Amazon FSx 还使用 Windows 卷影复制服务每天对您的文件系统进行高度持久的备份(存储在 Amazon S3 中),并允许您随时进行其他备份。请记住使用单可用区的一些问题。例如,如果配置SMB文件系统的受影响可用区一次停机数小时,则无法访问文件共享。如果您需要访问数据,则必须从源区域内可用区域的备份中恢复数据。有关更多信息,请参阅本指南的 “使用单一可用区” 部分。
Backup to URL
对于 SQL Server 2022,“备份到
其他资源
-
Amazon SQL Server 的备份和还原选项 EC2(AWS 规范性指南)
-
使用 NetApp SnapCenter Amazon FSx for NetApp ONTAP(AWS 存储博客)保护您的SQL服务器工作负载
-
开始使用 Amazon S3 智能分层
(AWS 入门资源中心) -
Amazon RDS SQL 服务器备份和还原策略
(AWS 数据库博客) -
将@@ 本地 Microsoft SQL 服务器数据库迁移到亚马逊 EC2(AWS 规范性指南)
-
在亚马逊上部署 Microsoft SQL 服务器的最佳实践 EC2(AWS 白皮书)