Amazon RDS 上的 Microsoft SQL Server - Amazon Relational Database Service

Amazon RDS 上的 Microsoft SQL Server

Amazon RDS 支持运行多个版本的 Microsoft SQL Server 的数据库实例。在下文中可以找到各个主要版本支持的最新版本。有关所支持版本和 RDS 引擎版本的完整列表,请参阅 Amazon RDS 上的 Microsoft SQL Server 版本

  • SQL Server 2017 CU19 14.00.3281.6,根据 KB4535007 于 2020 年 4 月 15 日发布

  • SQL Server 2016 SP2 CU11 13.00.5598.27,根据 KB4527378 于 2019 年 12 月 9 日发布。

  • SQL Server 2014 SP3 CU4 12.00.6329.1,根据 KB4500181 于 2019 年 7 月 29 日发布。

  • SQL Server 2012 SP4 GDR 11.0.7493.4,根据 KB4532098 于 2020 年 2 月 11 日发布。

  • SQL Server 2008:不再能够在任何区域预置新实例。Amazon RDS 正在积极迁移该版本的现有实例。

有关适用于 SQL Server 的许可的信息,请参阅授予 Amazon RDS 上 Microsoft SQL Server 的许可。有关 SQL Server 内部版本的信息,请参阅有关最新 SQL Server 内部版本的这篇 Microsoft 支持文章。

利用 Amazon RDS,您可以创建数据库实例和数据库快照、时间点还原以及自动或手动备份。可在 VPC 内使用运行 SQL Server 的数据库实例。您还可以使用安全套接字层 (SSL) 连接到运行 SQL Server 的数据库实例,并且可以使用透明数据加密 (TDE) 加密静态数据。Amazon RDS 当前支持对将 SQL Server 数据库镜像 (DBM) 或 Always On 可用性组 (AG) 用作高可用性故障转移解决方案的 SQL Server 执行多可用区部署。

为了让用户获得托管服务体验,Amazon RDS 未提供对数据库实例的 Shell 访问权限,并且限制对需要高级权限的某些系统过程和表的访问权限。Amazon RDS 支持使用任何标准 SQL 客户端应用程序(例如,Microsoft SQL Server Management Studio)访问数据库实例上的数据库。Amazon RDS 不允许主机通过 Telnet、安全 Shell (SSH) 或 Windows 远程桌面连接直接访问数据库实例。在创建数据库实例时,主用户将分配给该实例上的所有用户数据库的 db_owner 角色,并具有用于备份的权限以外的所有数据库级权限。Amazon RDS 为您管理备份。

在创建您的第一个数据库实例之前,您应完成本指南的设置部分中的步骤。有关更多信息,请参阅设置 Amazon RDS

Amazon RDS 上 Microsoft SQL Server 的常见管理任务

以下是您对 Amazon RDS SQL Server 数据库实例执行的常见管理任务,以及有关每个任务的相关文档的链接。

任务区域 相关文档

实例类、存储和 PIOPS

如果您出于生产目的而创建数据库实例,则应该了解 Amazon RDS 中的实例类、存储类型和配置的 IOPS 的工作原理。

Microsoft SQL Server 的数据库实例类支持

Amazon RDS 存储类型

多可用区部署

生产数据库实例应使用多可用区部署。多可用区部署为数据库实例提供了更高的可用性、数据持久性和容错能力。SQL Server 的多可用区部署使用 SQL Server 的本机 DBM 或 AG 技术实现。

Amazon RDS 的高可用性(多可用区)

使用 Microsoft SQL Server 数据库镜像或 Always On 可用性组的多可用区部署

Amazon Virtual Private Cloud (VPC)

如果您的 AWS 账户具有默认 VPC,则自动在默认 VPC 中创建数据库实例。如果您的账户没有默认 VPC,并且您希望数据库实例位于 VPC 中,则必须在创建数据库实例之前创建 VPC 和子网组。

确定您使用的是 EC2-VPC 还是 EC2-Classic 平台

在 VPC 中使用数据库实例

安全组

默认情况下,数据库实例在创建时带有一个防火墙,这个防火墙会阻止对实例进行访问。因此,您必须使用正确的 IP 地址和网络配置创建安全组来访问数据库实例。创建的安全组取决于您的数据库实例所在的 Amazon EC2 平台以及您是否会从 Amazon EC2 实例访问该数据库实例。

一般而言,如果数据库实例位于 EC2-Classic 平台上,则需要创建数据库安全组;如果数据库实例位于 EC2-VPC 平台上,则需要创建 VPC 安全组。

确定您使用的是 EC2-VPC 还是 EC2-Classic 平台

使用安全组控制访问权限

参数组

如果数据库实例需要特定数据库参数,则应在创建数据库实例前创建参数组。

使用数据库参数组

选项组

如果数据库实例需要特定数据库选项,则应在创建数据库实例前创建选项组。

适用于 Microsoft SQL Server 数据库引擎的选项

连接到您的数据库实例

在创建安全组并将其与数据库实例关联后,您可以使用任何标准 SQL 客户端应用程序 (如 Microsoft SQL Server Management Studio) 连接到数据库实例。

连接运行 Microsoft SQL Server 数据库引擎的数据库实例

备份与还原

在创建数据库实例时,可以将它配置为使用自动备份。您还可以使用完整备份文件 (.bak 文件) 来手动备份和还原数据库。

使用备份

导入和导出 SQL Server 数据库

监控

可使用 CloudWatch Amazon RDS 指标、事件和增强监测来监控 SQL Server 数据库实例。

查看数据库实例指标

查看 Amazon RDS 事件

日志文件

您可以访问 SQL Server 数据库实例的日志文件。

Amazon RDS 数据库日志文件

Microsoft SQL Server 数据库日志文件

此外,还有使用 SQL Server 数据库实例的高级管理任务。有关更多信息,请参阅以下文档:

Microsoft SQL Server 数据库实例的限制

在数据库实例上进行 Microsoft SQL Server 的 Amazon RDS 实施时,应注意某些限制:

  • 数据库实例上支持的最大数据库数取决于实例类的类型和可用性模式 — 单可用区、数据库镜像 (DBM) 多可用区或可用性组 (AG) 多可用区。Microsoft SQL Server 系统数据库不计入此限制中。

    下表显示了每种实例类类型和可用性模式支持的最大数据库数。使用此表帮助您确定是否可从一种实例类类型切换到另一种类型,或是否可从一种可用性模式切换到另一种模式。如果您的源数据库实例拥有的数据库数量超出目标实例类类型或可用性模式可以支持的数量,则修改数据库实例会失败。您可以在 Events (事件) 窗格中查看请求的状态。

    实例类类型 单可用区 DBM 多可用区 Always On 可用性组多可用区
    db.*.micro to db.*.medium 30 不适用 不适用
    db.*.large 30 30 30
    db.*.xlarge 至 db.*.16xlarge 100 50 75
    db.*.24xlarge 100 50 100

    * 表示不同实例类类型。

    例如,我们假定您的数据库实例在使用单可用区的 db.*.16xlarge 上运行,且它拥有 76 个数据库。您修改数据库实例,以便升级为使用 Always On 可用性组多可用区。因为您的数据库实例包含的数据库数量超出您的目标配置支持的数据库数量,所以此次升级失败。如果您将实例类类型升级为 db.*.24xlarge,则修改会成功。

    如果升级失败,则您会看到类似于下面所示的事件和消息:

    • 无法修改数据库实例类。该实例有 76 个数据库,但在转换之后,它仅支持 75 个数据库。

    • 无法将数据库实例转换为多可用区:该实例有 76 个数据库,但在转换之后,它仅支持 75 个数据库。

    如果时间点还原或快照还原失败,则您会看到类似于下面所示的事件和消息:

    • 数据库实例进入不兼容的还原。该实例有 76 个数据库,但在转换之后,它仅支持 75 个数据库。

  • 某些端口预留供 Amazon RDS 使用,您不能在创建数据库实例时使用。

  • 不允许来自 169.254.0.0/16 范围内的 IP 地址的客户端连接。这是自动私有 IP 寻址范围 (APIPA),它用于本地链路寻址。

  • 如果数据库实例的处理器数量超过软件限制(24 个内核、4 个插槽和 128GB RAM),则 SQL Server Standard Edition 将仅使用部分可用处理器。例如 db.m5.24xlarge 和 db.r5.24xlarge 实例类。

  • Amazon RDS for SQL Server 不支持将数据导入 msdb 数据库。

  • 您无法重命名 SQL Server 多可用区部署中的数据库实例中的数据库。

  • SQL Server 数据库实例的最大存储大小如下所示:

    • 通用型 (SSD) 存储 – 16 TiB(针对所有版本)

    • 预配置 IOPS 存储 – 16 TiB(针对所有版本)

    • 磁性存储 – 1 TiB(针对所有版本)

    对于需要大量存储的情况,您可跨多个数据库实例使用分片绕过该限制。此方法需要连接到已分片系统的应用程序中的依赖数据的路由逻辑。可以使用现有分片框架,也可以编写自定义代码来启用分片。如果使用现有框架,则该框架无法在与数据库实例相同的服务器上安装任何组件。

  • SQL Server 数据库实例的最小存储大小如下所示:

    • 通用 (SSD) 存储 – 20 GiB,用于 Enterprise、Standard、Web 和 Express 版本

    • 预置 IOPS 存储 – 20 GiB(用于 Enterprise 和 Standard 版本)或 100 GiB(用于 Web 和 Express 版本)

    • 磁性存储 – 200 GiB(针对 Enterprise 和 Standard 版本)或 20 GiB(针对 Web 和 Express 版本)

  • Amazon RDS 不支持在与 RDS 数据库实例相同的服务器上运行这些服务:

    • 数据质量服务

    • 主数据服务

    要使用这些功能,我们建议您在 Amazon EC2 实例上安装 SQL Server,或者使用本地 SQL Server 实例。在这些情况下,EC2 或 SQL Server 实例充当 Amazon RDS 上的 SQL Server 数据库实例的主数据服务服务器。根据 Microsoft 许可策略,您可以在带有 Amazon EBS 存储的 Amazon EC2 实例上安装 SQL Server。

  • 由于 Microsoft SQL Server 中存在的限制,还原到成功运行 DROP DATABASE 前的时间点可能不会反映出数据库在该时间点的状态。例如,通常会将已删掉的数据库还原到距发出 DROP DATABASE 命令前还有长达 5 分钟时的状态。使用此类型的还原,意味着无法还原您的已删除数据库上在那几分钟进行的事务。要解决该问题,您可以在完成还原操作后重新发出 DROP DATABASE 的命令。删除数据库也会删除该数据库的事务日志。

  • 对于 SQL Server,在创建数据库实例之后,需创建数据库。数据库名称遵循常用的 SQL Server 命名规则,但有以下区别:

    • 数据库名称不能以 rdsadmin 开头。

    • 它们不能以空格或制表符开头或结尾。

    • 它们不能包含任何创建新行的字符。

    • 它们不能包含单引号 (')。

Microsoft SQL Server 的数据库实例类支持

数据库实例的计算和内存容量由数据库实例类决定。您需要的数据库实例类取决于您的处理能力和内存要求。有关更多信息,请参阅数据库实例类

以下是 Microsoft SQL Server 支持的数据库实例类列表,此处为方便起见而提供。如需最新的列表,请参阅 RDS 控制台:https://console.aws.amazon.com/rds/

SQL Server 版本 2017 和 2016 支持范围 2014 和 2012 支持范围

企业版

db.t3.xlargedb.t3.2xlarge

db.r3.xlargedb.r3.8xlarge

db.r4.xlargedb.r4.16xlarge

db.r5.xlargedb.r5.24xlarge

db.m4.xlargedb.m4.16xlarge

db.m5.xlargedb.m5.24xlarge

db.x1.16xlargedb.x1.32xlarge

db.x1e.xlargedb.x1e.32xlarge

db.z1d.xlargedb.z1d.3xlarge

db.t3.xlargedb.t3.2xlarge

db.r3.xlargedb.r3.8xlarge

db.r4.xlargedb.r4.8xlarge

db.r5.xlargedb.r5.24xlarge

db.m4.xlargedb.m4.10xlarge

db.m5.xlargedb.m5.24xlarge

db.x1.16xlargedb.x1.32xlarge

db.x1e.xlargedb.x1e.32xlarge

标准版

db.t3.xlargedb.t3.2xlarge

db.r4.largedb.r4.16xlarge

db.r5.largedb.r5.24xlarge

db.m4.largedb.m4.16xlarge

db.m5.largedb.m5.24xlarge

db.x1.16xlargedb.x1.32xlarge

db.x1e.xlargedb.x1e.32xlarge

db.z1d.largedb.z1d.3xlarge

db.t3.xlargedb.t3.2xlarge

db.r3.largedb.r3.8xlarge

db.r4.largedb.r4.8xlarge

db.r5.largedb.r5.24xlarge

db.m3.mediumdb.m3.2xlarge

db.m4.largedb.m4.10xlarge

db.m5.largedb.m5.24xlarge

db.x1.16xlargedb.x1.32xlarge

db.x1e.xlargedb.x1e.32xlarge

网络版

db.t2.smalldb.t2.medium

db.t3.smalldb.t3.2xlarge

db.r4.largedb.r4.2xlarge

db.r5.largedb.r5.4xlarge

db.m4.largedb.m4.4xlarge

db.m5.largedb.m5.4xlarge

db.z1d.largedb.z1d.3xlarge

db.t2.smalldb.t2.medium

db.t3.smalldb.t3.2xlarge

db.r3.largedb.r3.2xlarge

db.r4.largedb.r4.2xlarge

db.r5.largedb.r5.4xlarge

db.m3.mediumdb.m3.2xlarge

db.m4.largedb.m4.4xlarge

db.m5.largedb.m5.4xlarge

精简版

db.t2.microdb.t2.medium

db.t3.smalldb.t3.xlarge

db.t2.microdb.t2.medium

db.t3.smalldb.t3.xlarge

Microsoft SQL Server 安全性

Microsoft SQL Server 数据库引擎使用基于角色的安全性。您在创建数据库实例时使用的主用户名是 SQL Server 身份验证登录名,该登录名是 processadminpublicsetupadmin 固定服务器角色的成员。

将为任何创建数据库的用户分配该数据库的 db_owner 角色,用户将拥有除用于备份外的全部数据库级别的权限。Amazon RDS 为您管理备份。

以下服务器级别的角色当前在 Amazon RDS 中不可用:

  • bulkadmin

  • dbcreator

  • diskadmin

  • securityadmin

  • serveradmin

  • sysadmin

以下服务器级别的权限在 SQL Server 数据库实例上不可用:

  • ALTER ANY CREDENTIAL

  • ALTER ANY EVENT NOTIFICATION

  • ALTER ANY EVENT SESSION

  • ALTER RESOURCES

  • ALTER SETTINGS(您可以使用数据库参数组 API 操作来修改参数;有关更多信息,请参阅 使用数据库参数组

  • AUTHENTICATE SERVER

  • CONTROL_SERVER

  • CREATE DDL EVENT NOTIFICATION

  • CREATE ENDPOINT

  • CREATE TRACE EVENT NOTIFICATION

  • EXTERNAL ACCESS ASSEMBLY

  • SHUTDOWN(您可转而使用 RDS 重启选项)

  • UNSAFE ASSEMBLY

  • ALTER ANY AVAILABILITY GROUP (仅适用于 SQL Server 2012)

  • CREATE ANY AVAILABILITY GROUP (仅适用于 SQL Server 2012)

Microsoft SQL Server 数据库实例的合规性计划支持

AWS 范围内服务已由第三方审核员完全评估,由此获得了证书、合规性鉴证或操作授权书 (ATO)。有关更多信息,请参阅 AWS 按合规性计划提供的范围内服务

Microsoft SQL Server 数据库实例的 HIPAA 支持

您可以使用 Amazon RDS Microsoft SQL Server 数据库来构建符合 HIPAA 标准的应用程序。您可以在与 AWS 签订的业务合作协议 (BAA) 下存储与医疗保健相关的信息,包括受保护医疗信息 (PHI)。有关更多信息,请参阅 HIPAA 合规性

Amazon RDS for SQL Server 支持在以下版本中使用 HIPAA:

  • SQL Server 2017 Enterprise、Standard 和 Web 版本

  • SQL Server 2016 Enterprise、Standard 和 Web 版本

  • SQL Server 2014 Enterprise、Standard 和 Web 版本

  • SQL Server 2012 Enterprise、Standard 和 Web 版本

要启用对数据库实例的 HIPAA 支持,请设置以下三个组件。

组建 详细信息

审核

要设置审核,请将参数 rds.sqlserver_audit 的值设置为 fedramp_hipaa。如果数据库实例尚未使用自定义数据库参数组,您必须创建一个自定义参数组并将它附加到数据库实例,然后才能修改 rds.sqlserver_audit 参数。有关更多信息,请参阅 使用数据库参数组

传输加密

要设置传输加密,请强制与数据库实例的所有连接使用安全套接字层 (SSL)。有关更多信息,请参阅 强制与数据库实例的连接使用 SSL

静态加密

要设置静态加密,您有两种选择:

  1. 如果您运行了企业版,则可以选择使用透明数据加密 (TDE) 实现静态加密。有关更多信息,请参阅SQL Server 中的透明数据加密支持

  2. 您可以使用 AWS Key Management Service (AWS KMS) 加密密钥设置静态加密。有关更多信息,请参阅加密 Amazon RDS 资源

Microsoft SQL Server 数据库实例的 SSL 支持

可使用 SSL 对应用程序和运行 Microsoft SQL Server 的 Amazon RDS 数据库实例之间的连接进行加密。您还可强制至数据库实例的所有连接使用 SSL。如果强制所有连接使用 SSL,则对客户端是透明的,客户端不需要为使用 SSL 而执行任何操作。

在所有 AWS 区域以及所有支持的 SQL Server 版本中支持 SSL。有关更多信息,请参阅 对 Microsoft SQL Server 数据库实例使用 SSL

Amazon RDS 上的 Microsoft SQL Server 版本

在创建新数据库实例时,您可以指定目前支持的任何 Microsoft SQL Server 版本。您可以指定 Microsoft SQL Server 主要版本(例如 Microsoft SQL Server 14.00),以及所指定主要版本的任何受支持的次要版本。如果没有指定版本,Amazon RDS 会默认使用支持的版本,通常是最新的版本。如果指定了主要版本但未指定次要版本,Amazon RDS 将默认使用您指定的主要版本的最新版本。

下表显示所有版本和所有 AWS 区域支持的版本,除非另有说明。您也可以使用 describe-db-engine-versions AWS CLI 命令查看受支持版本的列表以及新建数据库实例的默认值。

RDS 中支持的 SQL Server 版本
主要版本 次要版本 RDS API EngineVersion 和 CLI engine-version
SQL Server 2017

14.00.3281.6 (CU19)

14.00.3223.3 (CU16)

14.00.3192.2

14.00.3049.1

14.00.3035.2 (CU9 GDR)

14.00.3015.40 (CU3)

14.00.1000.169 (RTM)

14.00.3281.6.v1

14.00.3223.3.v1

14.00.3192.2.v1

14.00.3049.1.v1

14.00.3035.2.v1

14.00.3015.40.v1

14.00.1000.169.v1

SQL Server 2016

13.00.5598.27 (SP2 CU11)

13.00.5426.0 (SP2 CU8)

13.00.5366.0 (SP2)

13.00.5292.0 (CU6)

13.00.5216.0 (CU3)

13.00.4522.0(SP1 CU10 安全更新)

13.00.4466.4 (SP1 CU7)

13.00.4451.0 (SP1 CU5)

13.00.4422.0 (SP1 CU2)

13.00.2164.0 (RTM CU2)

13.00.5598.27.v1

13.00.5426.0.v1

13.00.5366.0.v1

13.00.5292.0.v1

13.00.5216.0.v1

13.00.4522.0.v1

13.00.4466.4.v1

13.00.4451.0.v1

13.00.4422.0.v1

13.00.2164.0.v1

SQL Server 2014

12.00.6329.1 (SP3 CU4)

12.00.6293.0 (SP3 CU3)

12.00.5571.0 (SP2 CU10)

12.00.5546.0 (SP2 CU5)

12.00.5000.0 (SP2)

12.00.6329.1.v1

12.00.6293.0.v1

12.00.5571.0.v1

12.00.5546.0.v1

12.00.5000.0.v1

SQL Server 2012

11.00.7493.4 (SP4 GDR)

11.00.7462.6 (SP4 GDR)

11.00.6594.0 (SP3 CU8)

11.00.6020.0 (SP3)

11.00.5058.0 (SP2),美国东部(俄亥俄州)、加拿大 (中部) 和 欧洲(伦敦) 除外

11.00.7493.4.v1

11.00.7462.6.v1

11.00.6594.0.v1

11.00.6020.0.v1

11.00.5058.0.v1

Amazon RDS 中的版本管理

Amazon RDS 包括灵活的版本管理功能,让您可以控制何时以及如何修补或升级您的数据库实例。这让您可对数据库引擎执行以下操作:

  • 维持与数据库引擎修补程序版本的兼容性。

  • 在将新修补程序版本部署到生产环境之前,先测试它们,以确定它们可与您的应用程序一起使用。

  • 规划和执行版本升级以满足您的服务水平协议和计时要求。

Amazon RDS 中的 Microsoft SQL Server 引擎修补

Amazon RDS 会定期将官方 Microsoft SQL Server 数据库修补程序聚合到 Amazon RDS 特定的数据库实例引擎版本。有关每个引擎版本中的 Microsoft SQL Server 修补程序的更多信息,请参阅 Amazon RDS 上的版本和功能支持

目前,您对数据库实例手动执行所有引擎升级。有关更多信息,请参阅 升级 Microsoft SQL Server 数据库引擎

Amazon RDS 上的 Microsoft SQL Server 主要引擎版本的弃用时间表

下表显示了 Microsoft SQL Server 主要引擎版本的计划弃用时间表。

日期 信息
2019 年 7 月 12 日

Amazon RDS 团队已在 2019 年 6 月停止为 Microsoft SQL Server 2008 R2 提供支持。剩余的 Microsoft SQL Server 2008 R2 实例正在迁移到 SQL Server 2012(最新可用的次要版本)。

为避免从 Microsoft SQL Server 2008 R2 自动升级,您可以在方便的时候进行升级。有关更多信息,请参阅 升级数据库实例 引擎版本

2019 年 4 月 25 日 在 2019 年 4 月底之前,您将不能再使用 Microsoft SQL Server 2008R2 为 SQL Server 数据库实例创建新的 Amazon RDS。

Amazon RDS 上的 Microsoft SQL Server 功能

Amazon RDS 上支持的 SQL Server 版本包括以下功能。

Microsoft SQL Server 2017 功能

SQL Server 2017 包括很多新功能,例如以下内容:

  • 自适应查询处理

  • 自动更正计划

  • GraphDB

  • 可恢复的索引重建

有关 SQL Server 2017 功能的完整列表,请参阅 Microsoft 文档中的 SQL Server 2017 的新增功能

有关不支持功能的列表,请参阅 不支持的功能以及有限支持的功能

Microsoft SQL Server 2016 功能

Amazon RDS 支持 SQL Server 2016 的以下功能:

  • 始终加密

  • JSON 支持

  • 运行分析

  • 查询存储

  • 临时表

有关 SQL Server 2016 功能的完整列表,请参阅 Microsoft 文档中的 SQL Server 2016 中的新增功能

Microsoft SQL Server 2014 功能

除了支持的 SQL Server 2012 功能之外,Amazon RDS 还支持 SQL Server 2014 中提供的新查询优化程序以及延迟持久性功能。

有关不支持功能的列表,请参阅 不支持的功能以及有限支持的功能

SQL Server 2014 支持 SQL Server 2012 中的所有参数并使用相同的默认值。SQL Server 2014 提供一个新参数,即备份校验和默认值。有关更多信息,请参阅 Microsoft 文档中的如何在备份实用程序未公开选项的情况下启用 CHECKSUM 选项

Microsoft SQL Server 2012 功能

除了支持的 SQL Server 2008 R2 功能之外,Amazon RDS 还支持以下 SQL Server 2012 功能:

  • Columnstore 索引 (企业版)

  • 在线索引创建、重建和删掉,适于 XML、varchar(max)、nvarchar(max) 和 varbinary(max) 数据类型 (企业版)

  • 灵活的服务器角色

  • 支持服务代理,不支持服务代理终端节点

  • 部分包含的数据库

  • Sequences 属性

  • 透明数据加密 (仅限企业版)

  • THROW 语句

  • 新的和增强的空间类型

  • UTF - 16 支持

  • ALTER ANY SERVER ROLE 服务器级权限

有关 SQL Server 2012 的更多信息,请参阅 Microsoft 文档中的 SQL Server 2012 版本支持的功能

有关不支持功能的列表,请参阅 不支持的功能以及有限支持的功能

SQL Server 2012 中已经改变了某些 SQL Server 参数。

  • SQL Server 2012 中已经删除了以下参数:awe enabledprecompute ranksql mail xps。在 SQL Server 数据库实例中无法修改这些参数,并且删除它们不会影响 SQL Server 的使用。

  • SQL Server 2012 中新的 contained database authentication 参数支持部分包含的数据库。当启用该参数并随后创建部分包含的数据库时,授权用户的用户名和密码存储在部分包含的数据库中,而不是主数据库中。有关部分包含的数据库的更多信息,请参阅 Microsoft 文档中的包含的数据库

Microsoft SQL Server 2008 R2 已在 Amazon RDS 上弃用

我们正在将仍在使用 SQL Server 2008 R2 的所有现有实例升级到 SQL Server 2012 的最新次要版本。有关更多信息,请参阅 Amazon RDS 中的版本管理

有关 SQL Server 2008 R2 的更多信息,请参阅 Microsoft 文档中的 SQL Server 2008 R2 版本支持的功能

适用于 Microsoft SQL Server 数据库实例的更改数据捕获支持

Amazon RDS 支持运行 Microsoft SQL Server 的数据库实例的更改数据捕获 (CDC)。CDC 捕获对表中数据所做的更改,并存储有关您稍后可访问的每项更改的元数据。有关更多信息,请参阅 Microsoft 文档中的更改数据捕获

Amazon RDS 支持在以下 SQL Server 版本中使用 CDC:

  • Microsoft SQL Server 企业版(所有版本)

  • Microsoft SQL Server 标准版:

    • 2017

    • 2016 版本 13.00.4422.0 SP1 CU2 及更高版本

要将 CDC 用于 Amazon RDS 数据库实例,请先使用 RDS 提供的存储过程在数据库级别启用或禁用 CDC。之后,担任该数据库的 db_owner 角色的任何用户均可使用本机 Microsoft 存储过程来控制该数据库上的 CDC。有关更多信息,请参阅使用更改数据捕获

您可以使用 CDC 和 AWS Database Migration Service 启用来自 SQL Server 数据库实例的持续复制。

不支持的功能以及有限支持的功能

Amazon RDS 上不支持以下 Microsoft SQL Server 功能:

  • 备份到 Microsoft Azure Blob 存储

  • 缓冲池扩展

  • 数据质量服务

  • 数据库日志传输

  • 数据库邮件

  • 扩展存储过程,包括 xp_cmdshell

  • FILESTREAM 支持

  • 文件表

  • 机器学习和 R 服务(需要具备 OS 访问权才能安装它)

  • 维护计划

  • 性能数据收集器

  • 基于策略的管理

  • PolyBase

  • 复制

  • 资源管理器

  • 服务器级别触发器

  • 服务代理终端节点

  • 拉伸数据库

  • T-SQL 终端节点 (使用 CREATE ENDPOINT 的所有操作不可用)

  • WCF Data Services

Amazon RDS 上对以下 Microsoft SQL Server 功能提供有限支持:

使用 Microsoft SQL Server 数据库镜像或 Always On 可用性组的多可用区部署

Amazon RDS 通过使用 SQL Server 数据库镜像 (DBM) 或 Always On 可用性组 (AG) 支持为运行 Microsoft SQL Server 的数据库实例进行多可用区部署。多可用区部署为数据库实例提供了更高的可用性、数据持久性和容错能力。在进行计划的数据维护或发生未计划的服务中断时,Amazon RDS 将自动故障转移到最新辅助副本,以便数据库操作能够在不进行手动干预的情况下快速恢复。主实例和辅助实例使用相同的终端节点,其物理网络地址作为故障转移过程的一部分转换到被动辅助副本。在故障转移时,您不必重新配置应用程序。

Amazon RDS 管理故障转移的方式是:主动监控多可用区部署并在主实例发生问题时主动启动故障转移。除非备用实例和主实例完全同步,否则不会发生故障转移。通过自动修复运行状况不佳的数据库实例并重新建立同步复制,Amazon RDS 主动维护您的多可用区部署。您不需要管理任何内容。Amazon RDS 负责处理主实例、见证以及备用实例。当您设置 SQL Server 多可用区时,RDS 为实例上的所有数据库配置被动辅助实例。

有关更多信息,请参阅Microsoft SQL Server 的多可用区部署

使用透明数据加密来加密静态数据

Amazon RDS 支持 Microsoft SQL Server 透明数据加密 (TDE),此方法以透明方式对存储数据进行加密。Amazon RDS 利用选项组启用和配置这些功能。有关 TDE 选项的更多信息,请参阅 SQL Server 中的透明数据加密支持

适用于 Amazon RDS for Microsoft SQL Server 的函数和存储过程

下表列出有助于自动执行 SQL Server 任务的 Amazon RDS 函数和存储过程。

SQL Server 函数和存储过程
任务类型 过程或函数 其使用位置
管理任务 rds_drop_database 删除 Microsoft SQL Server 数据库
rds_failover_time 确定上次故障转移时间
rds_modify_db_name 在多可用区部署中重命名 Microsoft SQL Server 数据库
rds_read_error_log 查看错误和代理日志
rds_set_configuration

设置各种数据库实例配置:

rds_set_database_online 将 Microsoft SQL Server 数据库从脱机状态转换为联机状态
rds_show_configuration

显示使用 rds_set_configuration 设置的值:

rds_shrink_tempdbfile 缩减临时数据库
更改数据捕获 (CDC) rds_cdc_disable_db 禁用 CDC
rds_cdc_enable_db 启用 CDC
本机备份和还原 rds_backup_database 备份数据库
rds_cancel_task 取消任务
rds_finish_restore 完成数据库还原
rds_restore_database 还原数据库
rds_restore_log 还原日志
Amazon S3 文件传输 rds_delete_from_filesystem 删除 RDS 实例上的文件
rds_download_from_s3 将文件从 Amazon S3 存储桶下载到 SQL Server 数据库实例
rds_gather_file_details 列出 RDS 数据库实例上的文件
rds_upload_to_s3 将文件从 SQL Server 数据库实例上传到 Amazon S3 存储桶
Microsoft 分布式事务处理协调器 (MSDTC) rds_msdtc_transaction_tracing 使用事务跟踪
SQL Server Audit rds_fn_get_audit_file 查看审核日志
Microsoft 商业智能 (MSBI) rds_msbi_task

SQL Server Analysis Services (SSAS):

SQL Server Integration Services (SSIS):

SQL Server Reporting Services (SSRS):

rds_fn_task_status

显示 MSBI 任务的状态:

SSIS rds_drop_ssis_database 删除 SSISDB 数据库
rds_sqlagent_proxy 创建 SSIS 代理
SSRS rds_drop_ssrs_databases 删除 SSRS 数据库

Microsoft SQL Server 数据库实例的本地时区

默认情况下,已设置运行 Microsoft SQL Server 的 Amazon RDS 数据库实例的时区。当前默认值为通用协调时间 (UTC)。您可改为将数据库实例的时区设置为本地时区以匹配应用程序的时区。

首次创建数据库实例时将设置时区。您可以使用 AWS 管理控制台、Amazon RDS API、CreateDBInstance 操作或 AWS CLI create-db-instance 命令创建数据库实例。

如果数据库实例是多可用区部署(使用 SQL Server DBM 或 AG)的一部分,则当您进行故障转移时,您的时区将保留您设置的本地时区。有关更多信息,请参阅 使用 Microsoft SQL Server 数据库镜像或 Always On 可用性组的多可用区部署

在请求时间点还原时,请指定要还原到的时间。时间以您的当地时区显示。有关更多信息,请参阅 将数据库实例还原至指定时间

下面是在数据库实例上设置本地时区时的限制:

  • 您无法修改现有 SQL Server 数据库实例的时区。

  • 您无法将快照从一个时区的数据库实例还原至另一个时区的数据库实例。

  • 强烈建议您不要将备份文件从一个时区还原到另一个时区。如果您将备份文件从一个时区还原至为另一个时区,则必须审查您的查询和应用程序来查看时区更改的效果。有关更多信息,请参阅 导入和导出 SQL Server 数据库

支持的时区

您可以将本地时区设置为下表中列出的值之一。

Time Zone

标准时间偏差

描述

备注

阿富汗标准时间

(UTC+04:30)

喀布尔

阿拉斯加标准时间

(UTC–09:00)

阿拉斯加州

阿拉伯标准时间

(UTC+04:00)

阿布扎比、马斯喀特

大西洋标准时间

(UTC–04:00)

大西洋时间 (加拿大)

澳大利亚中部标准时间

(UTC+09:30)

达尔文

此时区不遵守夏令时。

澳大利亚东部标准时间

(UTC+10:00)

堪培拉、墨尔本、悉尼

白俄罗斯标准时间

(UTC+03:00)

明斯克

此时区不遵守夏令时。

加拿大中部标准时间

(UTC–06:00)

萨斯喀彻温省

佛得角标准时间

(UTC–01:00)

佛得角群岛

澳大利亚中部标准时间

(UTC+09:30)

阿德莱德

中美洲标准时间

(UTC–06:00)

中美洲

中亚标准时间

(UTC+06:00)

阿斯塔纳

巴西中部标准时间

(UTC–04:00)

库亚巴

中欧标准时间

(UTC+01:00)

贝尔格莱德、布拉迪斯拉发、布达佩斯、卢布尔雅那、布拉格

中欧标准时间

(UTC+01:00)

萨拉热窝、斯科普里、华沙、萨格勒布

太平洋中部标准时间

(UTC+11:00)

索罗门群岛、新喀里多尼亚

中部标准时间

(UTC–06:00)

中部时间 (美国和加拿大)

中部标准时间(墨西哥)

(UTC–06:00)

瓜达拉哈拉、墨西哥城、蒙特雷

中国标准时间

(UTC+08:00)

北京、重庆、香港特别行政区、乌鲁木齐

非洲东部标准时间

(UTC+03:00)

内罗毕

此时区不遵守夏令时。

澳大利亚中部标准时间

(UTC+10:00)

布里斯班

欧洲东部标准时间

(UTC+02:00)

基希讷乌

南美洲东部标准时间

(UTC–03:00)

巴西利亚

东部标准时间

(UTC–05:00)

东部时间 (美国和加拿大)

格鲁吉亚标准时间

(UTC+04:00)

第比利斯

GMT 标准时间

(UTC)

都柏林、爱丁堡、里斯本、伦敦

此时区与格林威治标准时间不同。此时区遵守夏令时。

格陵兰标准时间

(UTC–03:00)

格陵兰

格林威治标准时间

(UTC)

蒙罗维亚、雷克雅未克

此时区不遵守夏令时。

GTB 标准时间

(UTC+02:00)

雅典、布加勒斯特

夏威夷标准时间

(UTC–10:00)

夏威夷州

印度标准时间

(UTC+05:30)

钦奈、加尔各答、孟买、新德里

约旦标准时间

(UTC+02:00)

阿曼

韩国标准时间

(UTC+09:00)

首尔

中东标准时间

(UTC+02:00)

贝鲁特

山地标准时间

(UTC–07:00)

山区时间 (美国和加拿大)

山地标准时间(墨西哥)

(UTC–07:00)

奇瓦瓦、拉巴斯、马萨特兰

美国山地标准时间

(UTC–07:00)

亚利桑那州

此时区不遵守夏令时。

新西兰标准时间

(UTC+12:00)

奥克兰、惠灵顿

纽芬兰标准时间

(UTC–03:30)

纽芬兰省

太平洋 SA 标准时间

(UTC–03:00)

圣地亚哥

太平洋标准时间

(UTC–08:00)

太平洋时间 (美国和加拿大)

太平洋标准时间(墨西哥)

(UTC–08:00)

下加利福尼亚州

俄罗斯标准时间

(UTC+03:00)

莫斯科、圣彼德堡、伏尔加格勒

此时区不遵守夏令时。

SA 太平洋标准时间

(UTC–05:00)

波哥大、利马、基多、里约布兰科

此时区不遵守夏令时。

东南亚标准时间

(UTC+07:00)

曼谷、河内、雅加达

新加坡标准时间

(UTC+08:00)

吉隆坡、新加坡

东京标准时间

(UTC+09:00)

大坂、札幌、东京

美国东部标准时间

(UTC–05:00)

印第安纳 (东部)

UTC

UTC

协调世界时

此时区不遵守夏令时。

UTC–02

(UTC–02:00)

协调世界时–02

UTC–08

(UTC–08:00)

协调世界时–08

UTC–09

(UTC–09:00)

协调世界时–09

UTC–11

(UTC–11:00)

协调世界时–11

UTC+12

(UTC+12:00)

协调世界时+12

澳大利亚中部标准时间

(UTC+08:00)

珀斯

中非西部标准时间

(UTC+01:00)

中非西部

欧洲东部标准时间

(UTC+01:00)

阿姆斯特丹、柏林、伯尔尼、罗马、斯德哥尔摩、维也纳