在 Amazon EC2 和 Amazon RDS 之间进行选择 - AWS 规范性指导

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

在 Amazon EC2 和 Amazon RDS 之间进行选择

Amazon EC2 和 Amazon RDS 具有独特的优势,可能对您的特定用例有益。您可以根据自己的需要,灵活地为 SQL Server 数据库使用一种或两种服务。本节提供了详细的信息来帮助您做出选择。

决策矩阵

下表 side-by-side 比较了亚马逊 RDS、适用于 SQL Server 的 Amazon RDS 定制版和亚马逊 EC2 支持的 SQL Server 功能。使用这些信息来了解它们之间的差异,并为您的用例选择最佳方法。

有关亚马逊 RDS 的最新信息,请参阅 AWS 文档中的亚马逊 RD S 上的微软 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 索引

(企业版:2014 及更高版本)

是(企业版:2019)

(企业版:2014 及更高版本)

数据质量服务

如果此功能对您的工作负载至关重要,请考虑选择 Amazon RDS Custom 或 Amazon EC2。

数据库邮件

请参阅博客帖子在 Amazon RDS for SQL Server 上使用数据库邮件

我们鼓励您使用亚马逊简单电子邮件服务 (Amazon SES) 发送 AWS 来自资源的出站电子邮件,以确保高度的可送达性。

数据库引擎优化顾问

数据库事件通知

(手动跟踪和管理数据库事件)

请参阅 Amazon RDS 文档中的使用 Amazon RDS 事件通知

DDL 事件通知

如果此功能对您的工作负载至关重要,请考虑选择 Amazon RDS Custom 或 Amazon EC2。

延迟事务持久性(延迟提交)

(SQL Server 2014 及更高版本)

(SQL Server 2019)

(SQL Server 2014 及更高版本)

分布式查询

(SQL Server 目标)

是(SQL Server 目标)

是(SQL Server 目标)

请参阅使用 Amazon RDS for 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 目标)

请参阅 Amazon RDS 文档中的使用 Amazon RDS for SQL Server 实现链接服务器博客文章和在 Amazon RDS for SQL Server 中使用 Oracle OLEDB 支持链接服务器

机器学习服务(使用 R 脚本)

机器学习服务必须单独安装在 Windows 或 Linux 计算机上。仅在 SQL Server 2019 及更高版本中,Always On 失效转移群集实例 (FCI) 才支持该功能。

尽管 Amazon RDS 不支持 R,但你可以在上使用它 AWS (请参阅开启 R 入门的博客文章 AWS)。

维护计划

Amazon RDS 提供了一组单独的功能,以方便数据库的备份和恢复。对于备份,您可以配置自动备份。

主数据服务

如果此功能对您的工作负载至关重要,请考虑选择 Amazon RDS Custom 或 Amazon EC2。

Microsoft 分布式事务处理协调器 (MSDTC)

请参阅博客文章为加入域的 Amazon RDS for SQL Server 实例启用分布式事务支持

OPENROWSET

部分包含的数据库

(SQL Server 2014 及更高版本)

(SQL Server 2019)

(SQL Server 2014 及更高版本)

性能数据收集器

在 Amazon RDS 上,您可以使用亚马逊 CloudWatch AWS CloudTrail、和 Performance Insights 来监控您的 SQL Server 性能(参见 Amazon RDS 文档中的监控亚马逊 RDS 概述)。

基于策略的管理

如果此功能对您的工作负载至关重要,请考虑选择 Amazon RDS Custom 或 Amazon EC2。

PolyBase

如果此功能对您的工作负载至关重要,请考虑选择 Amazon RDS Custom 或 Amazon EC2。

预配置参数

资源管理器

如果此功能对您的工作负载至关重要,请考虑选择 Amazon RDS Custom 或 Amazon EC2。

安全 CLR

(SQL Server 2014 及 2016 版本)

Sequences 属性

(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 Management Studio (SSMS)

SQL Server 迁移助手 (SSMA)

启动 SQL Server Profiler

(服务器端和客户端跟踪)

SQL Server Reporting Services (SSRS)

(SQL Server 2016 及更高版本)

请参阅 Amazon RDS 文档中的 Amazon RDS for SQL Server 中对 SSRS 的支持

sqlcmd

拉伸数据库

如果此功能对您的工作负载至关重要,请考虑选择 Amazon RDS Custom 或 Amazon EC2。

THROW statement

(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 Launch Wizard 参见 AWS 文档中的 SQL Server

Always On 失效转移群集实例 (FCI)

您可以使用 AWS Launch Wizard 来简化在亚马逊 EC2 上的 SQL Server FCI 部署。AWS Launch Wizard 参见 AWS 文档中的 SQL Server

备份到 Amazon S3

Amazon RDS 支持使用差异备份或完整备份文件(.bak 文件)对 Microsoft SQL Server 数据库进行本机备份和还原。请参阅 Amazon RDS 文档中的导入和导出 SQL Server 数据库

BACKUP 命令

请参阅如何对运行 SQL Server 的 Amazon RDS 数据库实例执行本机备份? 在 AWS 知识中心中。

数据库镜像

(多可用区)

数据库复制

(限量推送订阅)

如果您想在 Amazon RDS 上复制单个表,也可以使用 AWS DMS 或设置只读副本。

分布式可用性组

如果此功能对您的工作负载至关重要,请考虑选择 Amazon RDS Custom 或 Amazon EC2。

日志传送

出于灾难恢复目的,您可以使用只读副本或 AWS DMS

托管自动备份

(需要配置和管理维护计划,或使用第三方解决方案)

请参阅 Amazon RDS 文档中的使用备份

具有自动失效转移功能的多可用区

(手动配置 Always On 可用性组)

(仅限企业版,手动配置 Always On 可用性组)

请参阅 Amazon RDS 文档中的 Amazon RDS for SQL Server 中的多可用区部署

只读副本

(SQL Server 2016 及更高版本)

(手动配置 Always On 可用性组)

(手动配置 Always On 可用性组)

RESTORE 命令

参阅(AWS 知识中心)。

Scalability
开发功能 Amazon RDS Amazon RDS Custom Amazon EC2 注意事项

内置实例和数据库监控和指标

(将您自己的指标导出到第三方解决方案 CloudWatch 或使用第三方解决方案)

参阅博客文章使用亚马逊 CloudWatch 和 Syst AWS ems Manager 的自定义指标监控你的 SQL Server 数据库

可配置存储大小

每个实例的最大数据库数量

取决于实例大小和多可用区配置

SQL Server 最大值 (5000)

无限制

请参阅 Microsoft SQL Server 文档中的 SQL Server 的最大容量规格

数据库实例的最大存储大小

16 TiB

16 TiB

无限制

Amazon RDS 还通过使用非易失性存储器快速通道 (NVMe) 实例存储支持本地磁盘上的 tempdb 数据库。请参阅 Amazon RDS 文档中的 Amazon RDS for SQL Server 上的 tempdb 数据库的实例存储支持

数据库实例的最小存储大小

20 GiB

(企业版、标准版、Web 版和 Express 版)

20 GiB

(企业版、标准版、Web 版和 Express 版)

无限制

新查询优化程序

(SQL Server 2014 及更高版本)

(SQL Server 2014 及更高版本)

(SQL Server 2014 及更高版本)

只读副本

(SQL Server 2016 及更高版本)

(手动配置 Always On 可用性组)

(手动配置 Always On 可用性组)

Security
开发功能 Amazon RDS Amazon RDS Custom Amazon EC2 注意事项

自动软件修补

使用加密存储 AWS KMS

(除 Express 之外的所有 SQL Server 版本)

请参阅博客文章使用 AWS KMS 加密保护 Amazon RDS 中的数据

灵活的服务器角色

(SQL Server 2014 及更高版本)

(SQL Server 2019)

(SQL Server 2014 及更高版本)

SQL 身份验证

SQL Server Audit

SSL(传输加密)

请参阅 Amazon RDS 文档中的将 SSL 用于 Microsoft SQL Server 数据库实例

系统管理员角色

有关不受支持的服务器级角色,请参阅 Amazon RDS 文档中的 Microsoft SQL Server 安全性

在创建一个新的 RDS 数据库实例时,您使用的默认主用户将获得针对该数据库实例的特定权限(请参阅 Amazon RDS 文档中的账户特权)。

TDE(静态加密)

(企业版:2014-2019;标准版:2019)

(SQL Server 2019 企业版、标准版、Web 版和开发者版)

(企业版:2014-2019;标准版:2019)

在 Amazon RD S 和 Amazon RDS 自定义文档中查看有关 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 版本

2014、2016、2017、2019、2022

2019、2022

2014、2016、2017、2019、2022

有关这些功能的更多信息,请参阅以下:

下图有助于直观显示上表中的信息,以帮助您做出决策。

How to choose a hosting option (Amazon RDS or Amazon EC2) for your SQL Server database

责任共担

下图显示了与 AWS 用户在管理 SQL Server 功能和操作方面的职责分工。

Shared responsibility in the management of SQL Server features and operations

有了 AWS 服务,您就不必担心管理任务,例如服务器配置、修补、设置、配置、备份或恢复。 AWS 通过自我修复存储和自动扩展,持续监控您的集群,使您的工作负载保持正常运行。您可以专注于高价值的应用程序开发任务,例如架构设计、查询构造和优化 AWS ,同时代表您处理操作任务。

您永远不必为满足应用程序增长、间歇性峰值和性能要求而过度配置基础架构或产生固定的资本成本,包括软件许可和支持、硬件更新以及硬件维护资源。 AWS 管理这些,因此您可以将时间花在创新和构建新应用程序上,而不必花时间管理基础架构。

有关更多信息,请参阅 AWS 网站上的责任共担模式