View a markdown version of this page

迁移 SQL Server - AWS 规范性指导

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

迁移 SQL Server

在您的云之旅中,您可以通过多种选项将 SQL Server 环境迁移到 AWS。成功的迁移基于生成 SQL Server 工作负载及其依赖项的详细清单、确定身份验证方案、捕获高可用性和灾难恢复(HADR)要求、评测性能目标以及评估许可选项。此清单可帮助您确定目标数据库平台并定义迁移选项。

将 SQL Server 工作负载迁移到 SQL Server 工作负载时 AWS,您需要考虑许多选项,每种选择都能实现优化 price/performance、更直观的用户体验和更低的总体拥有成本。您可以选择在以下项目中部署 SQL Server:Amazon EC2Amazon RDS for SQL ServerAmazon RDS Custom for SQL Server

评测

要成功实施迁移,评估现有基础设施并了解您的环境所需的关键功能是非常重要的。我们建议您在选择迁移计划之前先查看以下关键领域:

  • 查看现有基础架构-使用在迁移发现阶段收集的数据,查看现有的 SQL Server 基础架构。您可以使用AWS 迁移评估器自动收集有关服务器配置、SQL Server 部署、资源利用率和应用程序依赖关系的详细信息。对于 VMware-based 环境,该AWS Transform 发现工具无需云连接即可提供无需代理的本地发现。其产出直接用于总体拥有 AWS Transform 成本分析和业务案例生成的评估。我们建议你在上使用微软为SQL Server基础架构规定的规模 AWS。了解本地 SQL Server 实例的当前利用率(包括内存、CPU、IOPS 和吞吐量)对于正确调整您的 SQL Server 实例的大小非常重要。 AWS

  • 查看现有许可 — 您可以利用补充的AWS 优化和许可评估 (AWS OLA) 来制定迁移和许可策略 AWS。 AWS OLA 为您提供一份报告,该报告使用现有许可授权对您的部署选项进行建模。这些结果可以帮助您探索灵活的 AWS 许可选项中可实现的成本节约。如果您已经在上运行 SQL Server 工作负载 AWS,则会AWS Compute Optimizer提供自动许可建议,包括根据实际功能使用情况确定降级 SQL Server 版本的机会。

  • 查看现有的 SQL Server 架构 — 如果您使用的是带有共享存储的 SQL Server 故障转移群集或 SQL Server Always On 可用性组架构,那么了解您当前的高可用性架构要求将有助于您定义 SQL Server 部署选项 AWS。

    SQL Server Always On 可用性组支持同步和异步提交模式,您可以使用它们实现单个 AWS 区域 (跨可用区)的高可用性或跨区域的灾难恢复。SQL Server 始终开启故障转移集群实例 (FCI) 需要共享存储,这可以通过使用适用于 Windows 文件服务器的 Amazon FSx 或适用于 ONTAP 的 Amazon FSx 来提供。 NetApp 有关高可用性和灾难恢复选项的完整比较,请参阅 “ AWS 规范性指南” 中的 “选择高可用性和灾难恢复解决方案”。

  • 制定备份策略 — 对于 Amazon RDS for SQL Server,您可以将自动备份与时间点恢复、手动快照以及本机备份和还原配合使用。对于亚马逊 EC2 上的 SQL Server,您可以使用原生 SQL Server 备份和恢复、使用快照方法,或者将数据库备份到亚马逊 EBS、适用于 Windows 文件服务器的 Amazon FSx、适用于 ONTAP 的亚马逊 FSx 或亚马逊 S NetApp 3。您可以使用AWS Backup在 Amazon RDS for SQL Server 和亚马逊 EC2 上的 SQL Server 上协调和集中备份。

    亚马逊 EC2 上的 SQL Server 2022 以及适用于 NetApp ONTAP 的 Amazon FSx 支持T-SQL 快照备份,以实现近乎即时、一致的备份,对主主机的影响最小。SQL Server 2025 通过在 Always On 可用性组中启用从辅助副本进行本机数据库备份,进一步扩展了这一范围。有关更多信息,请参阅 Microsoft SQL Server 2025 的新增 AWS功能(AWS 博客文章)。

    有关备份策略的更多信息,请参阅 Amazon RDS for SQL Server 的备份和还原策略(AWS 博客文章)和亚马逊 EC2 上的 SQL Server 的备份和还原选项(AWS 规范性指南)。

  • 了解灾难恢复 (DR) 需求 — 对于 Amazon RDS for SQL Server,跨区域自动备份和只读副本无需配置 SQL Server-level 复制即可提供托管灾难恢复选项。

    对于 Amazon EC2 上的 SQL Server,您可以使用通过AWS Transit Gateway或 AWS 区域 连接的辅助服务器 AWS Direct Connect,这样就可以进行复制。灾难恢复选项包括用于多区域部署的 SQL Server 分布式可用性组、用于在几分钟内实现 RTO 和 RPO 的经济实惠选项的日志传输,以及作为灾难恢复实施AWS 弹性灾难恢复的连续块级复制。 active/passive 有关更多信息,请参阅 “ AWS 规范性指南” 中的 “选择高可用性和灾难恢复解决方案” 和 “ AWS 数据库博客 AWS:第 1 部分” 上的 “为 SQL Server 设计灾难恢复”。

动员

对于您的 SQL Server 工作负载,我们建议您考虑以下几种 SQL Server 数据库迁移策略

  • 重新托管(直接迁移):这涉及到将本地 SQL Server 数据库迁移到 AWS Cloud中 Amazon EC2 实例上的 SQL Server。如果您的首要任务是更快地迁移到, AWS 则此方法非常有用。您可以使用自带许可证 (BYOL) 模式携带现有 SQL Server 许可证,也可以从中购买包含许可证 (LI) 的实例。 AWS您还可以使用 AWS Launch Wizard SQL Server 来指导您在 Amazon EC2 上完成 SQL Server 的大小、配置和部署。它支持单实例部署和高可用性部署。

  • 平台重组(提升和重塑)— 这涉及将您的本地 SQL Server 数据库迁移到上的托管数据库服务。 AWS这种方法可以卸载无差别的任务,例如安装、配置、修补、升级和高可用性设置。在两个托管选项之间进行选择:

    • Amazon RDS for SQL Server — 这是一个完全托管的选项,当您想要卸载所有数据库基础设施管理时,这是最佳选择。

    • 适用于 SQL Server 的 Amazon RDS 定制 — 这是一项托管服务,保留了操作系统和数据库级访问权限。此选项非常适合具有自定义部署要求的传统应用程序或打包应用程序。Amazon RDS Custom 支持自带媒体 (BYOM) 选项,这使您能够根据微软的许可移动性条款使用现有 SQL Server 许可。

    有关亚马逊 EC2 上的 SQL Server、Amazon RDS 和 Amazon RDS Custom 的功能比较,请参阅 AWS 规范性指南中的亚马逊 EC2 和亚马逊 RDS 之间的选择

  • 重构(重新架构)— 这通常涉及通过使用开源数据库或专为云构建的数据库来更改应用程序和实现现代化。通过摆脱 SQL Server,您可以降低许可成本,避免供应商锁定和许可审计。您可以对 SQL Server 数据库进行现代化改造,以便:

    要转换您的 SQL Server 架构和代码,您可以使用AWS DMS 架构转换,这是 AWS Database Migration Service (AWS DMS) 的一项完全托管的架构转换功能。

迁移

在将 SQL Server 工作负载迁移到时 AWS,以下各节描述了每种迁移策略的可用工具和方法。

重新托管

重新托管是一种同构迁移方法。如果您想在不更改数据库软件或配置的情况下按原样迁移 SQL Server 数据库,请选择此选项。这是以速度为首的大规模遗留迁移的常见选择。

使用 Amazon EC2 迁移 SQL Server

如果您迁移到 Amazon EC2,则可以使用 BYOL 模式使用现有的 SQL Server 许可证,也可以从中 AWS购买 LI 实例。 AWS License Manager在 Amazon EC2 上部署 SQL Server 时,可帮助您控制可用许可证的分配,并帮助您遵守许可规则。

对于 BYOL 方法,只有拥有微软软件保障 (SA),您才能将 SQL Server 重新托管到共享租赁(默认)Amazon EC2 实例。如果您的 SQL Server 许可证上没有 SA,则可以重新托管到 Amazon EC2 专用主机,前提是这些许可证是在 2019 年 10 月 1 日之前购买的,或者您已在该日期之前生效的有效企业注册中添加了许可作为补充。有关更多信息,请参阅 Microsoft Licensing on AWS

您可以使用 SQL Server 功能将 SQL Server 数据库迁移到 Amazon EC2 实例,或者 AWS 服务。如果您要将单个数据库或一组数据库迁移到 Amazon EC2 上的新 SQL Server 实例,则这些选项是合适的。除了数据库迁移之外,您可能还需要迁移诸如登录名、作业、数据库邮件和链接服务器之类的对象。

以下方法可用于在上 AWS重新托管 SQL Server 数据库:

你也可以使用 AWS Launch Wizard SQL Server 来指导你在支持单实例和高可用性部署的 Amazon EC2 上完成 Microsoft SQL Server 的大小、配置和部署。

使用迁移 SQL 服务器 AWS Application Migration Service

AWS Application Migration Service如果您想在 AWS 不更改数据库中的 SQL Server 版本、操作系统或代码的情况下将一台或多台大型计算机从本地环境迁移到该环境,并且停机时间接近零或最短,则非常适合。您可以使用 AWS Application Migration Service 来快速提升和转移物理、虚拟或云服务器,而不会出现兼容性问题、性能影响或转换窗口过长。有关使用应用程序迁移服务将 SQL Server 数据库从本地环境迁移到 Amazon EC2 实例的指南,请参阅将 Microsoft SQL Server 数据库迁移到 AWS 规范性指南。 AWS Cloud在使用 Application Migration Service 将 Microsoft SQL Server 数据库工作负载迁移到 AWS时,您也可以参考最佳实践

Linux 上的 SQL Server

SQL Server 数据库引擎在 Windows 服务器和 Linux 上的运行方式类似。但是,在使用 Linux 时,某些任务会发生一些变化。 AWS Launch Wizard可以帮助您适应这些变化并配置高度可用的解决方案。如果您拥有内部 Linux 管理专业知识,则更换主机到 Amazon EC2 Linux 是节省 Windows Server 许可成本的好选择。从 SQL Server 2017 开始,Linux 上的 SQL Server 受到支持。有关更多信息,请参阅根据 AWS 规范性指南将本地微软 SQL Server 数据库迁移到运行 Linux 的亚马逊 EC2 上的微软 SQL Server

更换平台

更换平台是一种同构方法,最适合通过使用完全托管的数据库产品来缩短管理数据库实例所花费的时间。Amazon RDS for SQL Server 中的完全托管数据库会限制您访问底层操作系统、系统卷或安装自定义驱动程序。有关更多信息,请参阅适用于微软 SQL Server 的亚马逊 RDS for Microsoft SQL Server 如果需要 OS-level 访问权限或现有的 SQL Server 许可证,请考虑将平台改为适用于 SQL Server 的 A mazon RDS Custom

适用于 SQL Server 的 Amazon RDS Custom 支持 BYOM 许可模式,该模式允许您使用自己的安装媒体和许可。你的许可证必须符合 Microsoft 许可证移动性条款。您可以对 SQL Server 更换平台,转为 Amazon RDS for SQL Server 或 Amazon RDS Custom for SQL Server。选择取决于您在底层操作系统上所需的自定义级别、Amazon RDS for SQL Server 是否支持您需要的功能,或者您是否想通过使用 BYOM 使用现有 SQL Server 许可证。

以下选项可用于将 SQL Server 迁移到适用于 SQL Server 的亚马逊 RDS 或适用于 SQL Server 的 Amazon RDS 定制:

有关更多信息,请参阅《 AWS 说明指南》中的 SQL Server 迁移方法

要为您的 SQL Server 数据库更换平台以便在 Amazon RDS for SQL Server 上运行,请考虑使用 Amazon RDS for SQL Server 资源中提供的方法。有关如何迁移已终止支持的工作负载的信息,请参阅数据库博客上自信地将支持终止支持的微软 SQL Server 数据库迁移到 Amazon RDS for Amazon SQL Server。 AWS 有关将本地数据库迁移到适用于 SQL Server 的 Amazon RDS 定制版的信息,请参阅 Amazon RDS 文档中的将本地数据库迁移到适用于 SQL Server 的 Amazon RDS 定制版。

重构

重构是异构的。如果您已准备好重组、重写和重新架构数据库和应用程序,以利用开源和专为云构建的数据库产品,请选择这种方法。如果您愿意重构数据库和相应的应用程序,则可以将 SQL Server 工作负载现代化为适用于 MySQL 的亚马逊 RDS、适用于 PostgreSQL 的亚马逊 RDS、亚马逊 Aurora 版或 MySQL-Compatible PostgreSQL-Compatible 亚马逊 Aurora 版。您可以根据许多现代化时间表和性能要求进行重构。

Amazon RDS for MySQL 和 Amazon RDS for PostgreSQL 是适用于其各自开源数据库的完全托管数据库产品。Amazon Aurora 是一个关系数据库管理系统 (RDBMS),专为云而构建,完全兼容 MySQL 和 PostgreSQL。Aurora 具有容错存储系统,可为您提供商业级数据库的性能和可用性,但成本仅为商业级数据库的十分之一。

您也可以使用 Amazon Aurora Serverless 来运行您的数据库, AWS 而无需管理数据库容量。Amazon Aurora Serverless v2 可在不到一秒钟的时间内立即扩展到处理数十万个事务。您只需为应用程序消耗的容量付费,与为峰值负载配置容量的成本相比,您最多可以节省 90% 的数据库成本。

要将您的 SQL Server 数据库重构为这些产品之一,请考虑使用以下方法之一:

其他资源