本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
迁移 SQL Server
在云之旅中,您可以通过多种方式将 SQL Server 环境迁移到云中 AWS。成功的迁移基于生成 SQL Server 工作负载及其依赖项的详细清单、确定身份验证方案、捕获高可用性和灾难恢复(HADR)要求、评测性能目标以及评估许可选项。此清单可帮助您确定目标数据库平台并定义迁移选项。
在将 SQL Server 工作负载迁移到时,您需要考虑许多选项 AWS,每种选择都能实现优化的性价比、更直观的用户体验和更低的总体拥有成本。你可以选择在以下设备上部署 SQL Server:亚马逊 EC2
评测
要成功实施迁移,必须评估您的现有基础架构并了解您的环境所需的关键功能。我们建议您在选择迁移计划之前先查看以下关键领域:
-
查看现有基础设施 – 通过使用在迁移发现阶段收集的数据来查看现有的 SQL Server 基础设施(请参阅 Windows environment discovery
)。我们建议你在上使用微软为SQL Server基础架构规定的规模 AWS。了解本地 SQL Server 实例的当前利用率(包括内存、CPU、IOPS 和吞吐量)对于正确调整您的 SQL Server 实例的大小非常重要。 AWS -
查看现有许可 — 您可以利用补充的AWS 优化和许可评估 (AWS OLA)
来制定迁移和许可策略 AWS。 AWS OLA 为您提供一份报告,该报告使用现有许可授权对您的部署选项进行建模。这些结果可以帮助您探索灵活 AWS 许可选项中可节省的成本。 -
查看现有的 SQL Server 架构 — 如果您使用的是带有共享存储的 SQL Server 故障转移群集或 SQL Server Always On 可用性组架构,那么了解您当前的高可用性架构要求将有助于您定义 SQL Server 部署选项
AWS。 -
制定备份策略-您可以在 SQL Server 中使用本机备份将数据库备份到云端。有多种选项可以使用 Storage Gateway 将数据库备份到亚马逊 EBS、 FSx 适用于 Windows 文件服务器 FSx 的亚马逊、适用于 NetApp ONTAP 的亚马逊和亚马逊 S3。此外,您可以使用快照方法来备份 SQL Server 实例。有关 SQL Server 备份的更多信息,请参阅 AWS 规范性指南中的亚马逊 EC2 SQL Server 备份和还原选项。
-
了解灾难恢复 (DR) 需求 — 如果您要将现有 SQL Server 工作负载转移到 AWS,则可以使用辅助工作负载, AWS 区域 并使用 Transit Gateway(允许进行复制)连接两个区域。您可以使用 SQL Enterprise 版中的 SQL Server 分布式可用性组架构来设置灾难恢复,也可以根据您的 RTO 和 RPO 要求使用日志传送。此外,您可以 AWS Elastic Disaster Recovery 将其用作主动/被动实施,将灾难恢复保留为故障转移环境。有关更多信息,请参阅 AWS 数据库博客上的《为 SQL Server 设计灾难恢复 AWS:第 1 部分
》文章。
动员
对于您的 SQL Server 工作负载,我们建议您考虑三个主要迁移选项
-
重新托管(移动)— 这涉及将您的本地 SQL Server 数据库迁移到中亚马逊 EC2 实例上的 SQL Server。 AWS 云如果您的首要任务是更快地迁移到, AWS 则此方法非常有用。
-
平台重组(提升和重塑)— 这涉及将您的本地 SQL Server 数据库迁移到适用于 Amazon RDS for SQL Server 的 Amazon RDS
AWS 云当您希望继续使用 SQL Server 但想卸载无差别的繁重工作任务(例如安装、配置、修补、升级和设置高可用性)时,更换平台是最适合的方式。有关亚马逊上的 SQL Server EC2、Amazon RDS 和 Amazon RDS Custom 的功能比较,请参阅 AWS 规范性指南中的亚马逊 EC2 和亚马逊 RDS 之间的选择。 -
重构(重新架构)– 这通常涉及到通过使用开源数据库或专为云构建的数据库对应用程序进行更改和现代化改造。在这种情况下,您将对本地 SQL Server 数据库进行现代化改造,以使用 Amazon RDS for MySQL
、Amazon RDS for PostgreSQL 或 Amazon Aurora 。通过迁移至开源数据库,您可以降低许可成本,避免不必要的供应商锁定期和许可审核。
迁移
将 SQL Server 工作负载迁移到时 AWS,请考虑以下有关配置和工具的内容。
重新托管
更换主机是同构的。如果您想在不更改数据库软件或配置的情况下按原样迁移 SQL Server 数据库,请选择此方法。例如,在大规模的传统迁移中,您可能希望快速迁移以实现业务目标,并选择对大部分应用程序执行更换主机。
使用亚马逊迁移 SQL Server EC2
如果您迁移到亚马逊 EC2,则可以携带现有的 SQL Server 许可证。这被称为自带许可(BYOL)模式。或者,您可以从购买附带许可 (LI) 实例 AWS。有关更多信息,请参阅 AWS 云运营与迁移博客上的 “在亚马逊 EC2 专用主机上使用包含许可的 Windows 实例使用 SQL BYOL 进行成本优化
只有在拥有微软软件保障 (SA) EC2 的情况下,才能使用 BYOL 将 SQL Server 重新托管到共享租赁(默认)实例。如果您的 SQL 许可证上没有 SA,则可以重新托管到 Amazon EC2 专用主机
有多种方法可以使用 SQL Server 功能( EC2 例如备份和恢复、日志传送以及 Always On 可用性组)将 SQL Server 数据库迁移到 Amazon 实例。如果您要将单个数据库或一组数据库迁移到在 Amazon 上运行的新 SQL Server 实例,则这些选项是合适的 EC2。这些选项是数据库原生的,取决于特定的 SQL Server 版本。除了数据库迁移之外,还可能要求您执行迁移诸如登录名、作业、数据库邮件和链接服务器等对象的步骤。
以下方法可用于在上 AWS重新托管 SQL Server 数据库:
你也可以使用 AWS Launch Wizard SQL Server 来指导你在亚马逊上完成微软 SQL Server 的大小、配置和部署 EC2。它支持 SQL Server 单实例和 Amazon 上的 HA 部署 EC2。
使用 Application Migration Service 迁移 SQL Server
AWS Application Migration Service
Linux 上的 SQL Server
SQL Server 数据库引擎在 Windows Server 和 Linux 上的运行方式基本类似。但是,使用 Linux 时,某些任务会发生一些变化。启动向导可以帮助您适应这些变化并配置高度可用的解决方案。如果你有内部的 Linux 管理专业知识,那么重新托管到亚马逊 EC2 Linux 是节省 Windows 服务器许可成本的好选择。考虑使用 Microsoft SQL Server 数据库从 Windows 到 Linux 的更换平台助手工具来自动执行此过程。有关更多信息,请参阅根据 AWS 规范性指南将本地微软 SQL Server 数据库迁移到 EC2 运行 Linux 的亚马逊上的 Microsoft SQL Server。
更换平台
更换平台是一种同构方法,最适合通过使用完全托管的数据库产品来缩短管理数据库实例所花费的时间。Amazon RDS for SQL Server 中的完全托管数据库会限制您访问底层操作系统、系统卷或安装自定义驱动程序。有关更多信息,请参阅亚马逊 RDS 文档中的适用于微软 SQL Server 的亚马逊 RDS for Microsoft。如果您的用例需要完全托管的数据库功能,或者您想使用现有的 SQL Server 许可证,请考虑将平台改为适用于 SQL Server 的 A mazon RDS Custom
自带媒体(BYOM)选项可用于 Amazon RDS Custom for SQL Server。BYOM 允许你使用自己的安装媒体和许可证,但许可证必须符合 Microsoft 的许可证移动性
以下方法可用于将 SQL Server 迁移到 Amazon RDS for SQL Server:
-
使用 TSQL 进行@@ 日志传送 PowerShell或使用
TSQL 进行日志 传送
要为您的 SQL Server 数据库更换平台以便在 Amazon RDS for SQL Server 上运行,请考虑使用 Amazon RDS for SQL Server 资源
重构
重构是异构的。当您准备好重组、重写和重新架构数据库和应用程序以利用开源和 built-for-the-cloud数据库产品时,请选择这种方法。如果你愿意重构数据库和相应的应用程序,你可以将 SQL Server 工作负载现代化为适用于 MySQL 的亚马逊 RDS、适用于 PostgreSQL 的亚马逊 RDS、兼容 Amazon Aurora MySQL 的版本或兼容 Amazon Aurora PostgreS QL 的版本,或者兼容亚马逊 Aurora
Amazon RDS for MySQL 和 Amazon RDS for PostgreSQL 是适用于其各自开源数据库的完全托管数据库产品。Amazon Aurora 是专为云而构建的关系数据库管理系统(RDBMS),具有完全的 MySQL 和 PostgreSQL 兼容性。Aurora 具有容错存储系统,可为您提供商业级数据库的性能和可用性,但成本仅为商业级数据库的十分之一。
您也可以使用 Amazon Aurora Serverless
要将您的 SQL Server 数据库重构为其中一个产品,请考虑将 AWS Schema Conversion Tool
(AWS SCT)
如果您的目标是加快将应用程序和数据库迁移到 Aurora PostgreSQL AWS,请考虑使用 Babelfish for Aurora PostgreSQ L。Babelfish 使最初为 SQL Server 编写的应用程序能够以很少的代码更改即可与 Aurora 协同工作。因此,修改和迁移到为 SQL Server 2019 或更早版本开发的适用于 Aurora PostgreSQL 的 Babelfish 应用程序所需的工作量减少了,从而可实现更快、风险更低且更具成本效益的重构。
使用 Babelfish 进行迁移时,请考虑以下资源:
-
使用 AWS SCT 评估报告为 Babelfish 迁移做好准备
(AWS 数据库博客) -
使用 SSIS 和 Babelfish 从 SQL Server 迁移到 Aurora PostgreSQL(
数据库博客)AWS -
使用 Babelfish 作为目标 AWS Database Migration Service(文档)AWS Database Migration Service
其他资源
-
将微软 SQL Server 数据库迁移到 AWS 云(AWS 规范性指南)
-
AWS(AWS 博客)上的 SQL Server 迁移和现代化策略