在 Amazon EC2 和 Amazon RDS 之间进行选择
Amazon EC2 和 Amazon RDS 具有独特的优势,可能对您的特定用例有益。您可以根据自己的需要,灵活地为 SQL Server 数据库使用一种或两种服务。本节提供了详细的信息来帮助您做出选择。
决策矩阵
下表并排比较了 Amazon RDS、Amazon RDS Custom for SQL Server 和 Amazon EC2 支持的 SQL Server 功能。使用这些信息来了解它们之间的差异,并为您的用例选择最佳方法。
有关 Amazon RDS 的最新信息,请参阅 AWS 文档中的 Amazon RDS 上的 Microsoft SQL Server。
- Development
-
开发功能 Amazon RDS Amazon RDS Custom Amazon EC2 备注 缓冲池扩展
否 是 是 如果此功能对您的工作负载至关重要,请考虑选择 Amazon RDS Custom 或 Amazon EC2。
BULK INSERT是 是 是 请参阅 Amazon RDS 文档中的将 Amazon RDS for SQL Server 数据库实例与 Amazon S3 集成。
更改数据捕获 (CDC)
是(企业版:所有版本;标准版:2016 SP1 及更高版本) 是 是 请参阅 Amazon RDS 文档中的使用更改数据捕获。
更改跟踪
是 是 是 Columnstore 索引
是(企业版和标准版:2016 及更高版本) 是(企业版和标准版:2019 和 2022) 是(企业版:2014 及更高版本;标准版:2016 SP1 及更高版本) 请参阅 SQL Server 文档中的 RDBMS 可扩展性和性能
。 数据质量服务
否 是 是 如果此功能对您的工作负载至关重要,请考虑选择 Amazon RDS Custom 或 Amazon EC2。
数据库邮件
是 是 是 请参阅博客帖子在 Amazon RDS for SQL Server 上使用数据库邮件
。 我们鼓励您使用 Amazon Simple Email Service (Amazon SES)
发送源自 AWS 资源的出站电子邮件,以确保高度的送达率。 数据库引擎优化顾问
是 是 是 数据库事件通知
是 是 否(手动跟踪和管理数据库事件) 请参阅 Amazon RDS 文档中的使用 Amazon RDS 事件通知。
DDL 事件通知
否 是 是 如果此功能对您的工作负载至关重要,请考虑选择 Amazon RDS Custom 或 Amazon EC2。
延迟事务持久性(延迟提交)
是(SQL Server 2016 及更高版本) 是(SQL Server 2019 及 2022) 是(SQL Server 2014 及更高版本) 分布式查询
是(SQL Server 目标) 是(SQL Server 目标) 是(SQL Server 目标) 扩展事件
是 是 是 扩展存储过程,包括
xp_cmdshell否 是 是 如果此功能对您的工作负载至关重要,请考虑选择 Amazon RDS Custom 或 Amazon EC2。
文件表
否 是 是 如果此功能对您的工作负载至关重要,请考虑选择 Amazon RDS Custom 或 Amazon EC2。
FILESTREAM否 是 是 FILESTREAM与 Amazon RDS 不兼容。但是,您可以配置内存数据库。全文搜索
是(语义搜索除外) 是 是 内存数据库
是(SQL Server 2014 及更高版本) 是(SQL Server 2019) 是(SQL Server 2014 及更高版本) 链接服务器
是(SQL Server、Oracle 和 Teradata 目标) 是,使用 CEV 是 请参阅 Amazon RDS 文档中的使用 Amazon RDS for SQL Server 实现链接服务器
博客文章和在 Amazon RDS for SQL Server 中使用 Oracle OLEDB 支持链接服务器。 自定义引擎版本(CEV)是数据库版本和亚马逊机器映像(AMI)的二进制卷快照。
机器学习服务(使用 R 脚本)
是 是 是 机器学习服务必须单独安装在 Windows 或 Linux 计算机上。仅在 SQL Server 2019 及更高版本中,Always On 失效转移群集实例 (FCI)
才支持该功能。 尽管 Amazon RDS 不支持 R 脚本,但您可以在 AWS 上使用它(请参阅博客文章 AWS 上的 R 脚本入门
)。 维护计划
否 是 是 Amazon RDS 提供了一组单独的功能,以方便数据库的备份和恢复。对于备份,您可以配置自动备份。
主数据服务
否 是 是 如果此功能对您的工作负载至关重要,请考虑选择 Amazon RDS Custom 或 Amazon EC2。
Microsoft 分布式事务处理协调器 (MSDTC)
是 是 是 OPENROWSET是 是 是 部分包含的数据库
是(SQL Server 2014 及更高版本) 是(SQL Server 2019) 是(SQL Server 2014 及更高版本) 性能数据收集器
否 是 是 在 Amazon RDS 上,您可以使用 Amazon CloudWatch、AWS CloudTrail 和 Performance Insights 监控您的 SQL Server 性能(请参阅 Amazon RDS 文档中的监控 Amazon RDS 概述)。
基于策略的管理
否 是 是 如果此功能对您的工作负载至关重要,请考虑选择 Amazon RDS Custom 或 Amazon EC2。
PolyBase
否 是 是 如果此功能对您的工作负载至关重要,请考虑选择 Amazon RDS Custom 或 Amazon EC2。
预配置参数
是 否 否 资源管理器
否 是 是 如果此功能对您的工作负载至关重要,请考虑选择 Amazon RDS Custom 或 Amazon EC2。
安全 CLR
是(SQL Server 2016、2019 及 2022 版本) 是 是 序列
是(SQL Server 2014 及更高版本) 是(SQL Server 2019) 是(SQL Server 2014 及更高版本) 服务器级别触发器
否 是 是 如果此功能对您的工作负载至关重要,请考虑选择 Amazon RDS Custom 或 Amazon EC2。
服务代理
是(端点除外) 是 是 空间和位置特征
是 是 是 SQL Server Agent
是 是 是 SQL Server Analysis Services (SSAS)
是(SQL Server 2016 及更高版本) 是 是 请参阅 Amazon RDS 文档中的Amazon RDS for SQL Server 中对 SSAS 的支持。
SQL Server Integration Services (SSIS)
是(SQL Server 2016 及更高版本) 是 是 请参阅 Amazon RDS 文档中的Amazon RDS for SQL Server 中对 SSIS 的支持。
SQL Server Reporting Services (SSRS)
是(SQL Server 2016 及更高版本) 是 是 请参阅 Amazon RDS 文档中的 Amazon RDS for SQL Server 中对 SSRS 的支持。
SQL Server Management Studio (SSMS)
是 是 是 SQL Server 迁移助手 (SSMA)
是 是 是 启动 SQL Server Profiler
是(服务器端和客户端跟踪) 是 是 sqlcmd是 是 是 拉伸数据库
否 是 是 如果此功能对您的工作负载至关重要,请考虑选择 Amazon RDS Custom 或 Amazon EC2。
THROWstatement是(SQL Server 2014 及更高版本) 是(SQL Server 2019) 是(SQL Server 2014 及更高版本) Transact-SQL 端点
否 是 是 所有使用
CREATE ENDPOINT的操作在 Amazon RDS 上均不可用。我们建议您在 EC2 实例上安装 SQL Server 以执行这些操作。UTF-16 支持
是(SQL Server 2014 及更高版本) 是 是(SQL Server 2014 及更高版本) WCF Data Services
否 是 是 如果此功能对您的工作负载至关重要,请考虑选择 Amazon RDS Custom 或 Amazon EC2。
- HA/DR
-
开发功能 Amazon RDS Amazon RDS Custom Amazon EC2 备注 Always On 可用性组
是 是(仅用于迁移目的) 是 如果您需要一个自行管理的 Always On 可用性组,我们建议您使用 AWS Launch Wizard 来简化 EC2 实例上的 SQL Server HA 部署。请参阅 AWS 文档中的 AWS Launch Wizard for SQL Server。
Always On 失效转移群集实例 (FCI)
否 是 是 您可以使用 AWS Launch Wizard 简化 SQL Server FCI 在 Amazon EC2 上的部署。请参阅 AWS 文档中的 AWS Launch Wizard for SQL Server。
备份到 Amazon S3
是 是 是 Amazon RDS 支持使用差异备份或完整备份文件(.bak 文件)对 Microsoft SQL Server 数据库进行本机备份和还原。请参阅 Amazon RDS 文档中的导入和导出 SQL Server 数据库。
BACKUP命令否 是 是 请参阅 AWS 知识中心中的如何对运行 SQL Server 的 Amazon RDS 数据库实例执行本机备份
。 数据库镜像
否 是 是 SQL Server 复制
否(限量推送订阅) 是 是 如果您想在 Amazon RDS 上复制单个表,也可以使用 AWS DMS
或设置只读副本。 分布式可用性组
否 是(仅限迁移) 是 如果此功能对您的工作负载至关重要,请考虑选择 Amazon RDS Custom 或 Amazon EC2。
日志传送
否 是 是 出于灾难恢复目的,您可以使用只读副本或 AWS DMS
。 自定义日志传送
是 是 不适用
托管自动备份
是 是 否(需要配置和管理维护计划,或使用第三方解决方案) 请参阅 Amazon RDS 文档中的使用备份。
具有自动失效转移功能的多可用区
是 是(基于存储的复制) 是(仅限企业版,手动配置 Always On 可用性组) 请参阅 Amazon RDS 文档中的 Amazon RDS for SQL Server 中的多可用区部署。
只读副本
是(SQL Server 2016 及更高版本) 否 是(手动配置 Always On 可用性组) RESTORE命令是 是 是 参阅(AWS 知识中心
)。 - Scalability
-
开发功能 Amazon RDS Amazon RDS Custom Amazon EC2 备注 内置实例和数据库监控和指标
是 否(将您自己的指标导出到 Amazon CloudWatch 或使用第三方解决方案) 否(将您自己的指标导出到 CloudWatch 或使用第三方解决方案) 请参阅博客文章 通过 Amazon CloudWatch 和 AWS Systems Manager 使用自定义指标来监控 SQL Server 数据库
。 可配置存储大小
是 是 是 每个实例的最大数据库数量
取决于实例大小和多可用区配置
SQL Server 最大值 (5000)
无限制 请参阅 Microsoft SQL Server 文档中的 SQL Server 的最大容量规格
。 数据库实例的最大存储大小
64 TiB
64 TiB
无限制 Amazon RDS 还通过使用非易失性存储器快速通道 (NVMe) 实例存储支持本地磁盘上的 tempdb 数据库。请参阅 Amazon RDS 文档中的 Amazon RDS for SQL Server 上的 tempdb 数据库的实例存储支持。
数据库实例的最小存储大小
20 GiB
(企业版、标准版、Web 版和 Express 版)20 GiB
(企业版、标准版、Web 版和 Express 版)无限制 新查询优化程序
是(SQL Server 2016 及更高版本) 是(SQL Server 2019 及 2022 版本) 是(SQL Server 2014 及更高版本) - Security
-
开发功能 Amazon RDS Amazon RDS Custom Amazon EC2 备注 自动软件修补
是 否(CEV) 是(RPEV) 否 自定义引擎版本(CEV)是数据库版本和亚马逊机器映像(AMI)的二进制卷快照。RDS 提供的引擎版本(RPEV)是默认 Amazon Machine Image(AMI)和 Microsoft SQL Server 安装。
使用 AWS KMS 加密存储
是 是 是 请参阅博客文章使用 AWS KMS 加密保护 Amazon RDS 中的数据
。 服务器角色
是(SQL Server 2016 及更高版本) 是(SQL Server 2019 及 2022 版本) 是(SQL Server 2014 及更高版本) SQL 身份验证
是 是 是 SQL Server Audit
是 是 是 SSL(传输加密)
是 是 是 请参阅 Amazon RDS 文档中的将 SSL 用于 Microsoft SQL Server 数据库实例。
系统管理员角色
否 是 是 有关不受支持的服务器级角色,请参阅 Amazon RDS 文档中的 Microsoft SQL Server 安全性。
在创建一个新的 RDS 数据库实例时,您使用的默认主用户将获得针对该数据库实例的特定权限(请参阅 Amazon RDS 文档中的账户特权)。
TDE(静态加密)
是(企业版:2016-2022;标准版:2019 和 2022) 是(SQL Server 2019 和 2022:企业版、标准版、Web 版和开发人员版) 是(企业版:2014-2019;标准版:2019) 请参阅 Amazon RDS 和 Amazon RDS Custom 文档中有关 TDE 支持的信息。
Windows 身份验证
是 是 是 - Other features
-
开发功能 Amazon RDS Amazon RDS Custom Amazon EC2 备注 能够安装第三方代理
否 是 是 能够重命名现有数据库
是(仅限单可用区) 是 是(不适用于可用性组中的数据库或已启用镜像的数据库) 有关 Amazon RDS 上的多可用区部署,请参阅 Amazon RDS 文档中的在多可用区部署中重命名 Microsoft SQL Server 数据库。
对数据库实例和操作系统的控制
否 是 是 如果此功能对您的工作负载至关重要,请考虑选择 Amazon RDS Custom 或 Amazon EC2。
自定义设置时区
是 是 是 分布式回放
否 是 是 SQL Server 分布式回放客户端服务需要系统管理员权限
,这就是 Amazon RDS 不支持该服务的原因。 将数据导入 msdb 数据库
否 是 是 如果此功能对您的工作负载至关重要,请考虑选择 Amazon RDS Custom 或 Amazon EC2。
安装方式
不适用
不适用
Amazon 机器映像 (AMI) 或手动安装
SQL Server 版本
企业版、标准版、Web 版、Express 版
企业版、标准版、开发人员版
企业版、标准版、Web 版、开发人员版、Express 版
SQL Server 版本
2016、2017、2019、2022
2019、2022
2014、2016、2017、2019、2022
有关这些功能的更多信息,请参阅以下:
-
在 AWS
上保护 Microsoft 平台 -
AWSEC2-SQLServerDBRestore(AWS Systems Manager Automation Runbook,可将 Amazon S3 中存储的 SQL Server 数据库备份恢复到 EC2 Linux 实例上运行的 SQL Server 2017)
责任共担
下图显示了 AWS 与用户在管理 SQL Server 功能和操作方面的职责分工。
有了 AWS 服务,您就不必担心服务器配置、修补、设置、配置、备份或恢复等管理任务。AWS 可持续监控您的集群,通过自我修复存储和自动扩展保持您的工作负载正常运行。您可以专注于高价值的应用程序开发任务,例如架构设计、查询构造和优化,而 AWS 则代表您处理操作任务。
您无需为满足应用程序增长、间歇性峰值和性能要求而过多或过少配置基础设施,也无需承担固定资本成本,包括软件许可和支持、硬件更新以及维护硬件的资源。AWS 会对这些进行管理,因此您可以将时间用于创新和构建新的应用程序,而不是管理基础设施。
有关更多信息,请参阅 AWS 网站上的责任共担模式