Amazon Relational Database Service
用户指南 (API 版本 2014-10-31)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

升级 Microsoft SQL Server 数据库引擎

如果 Amazon RDS 支持新版本的 Microsoft SQL Server,您可以将数据库实例升级到新版本。Amazon RDS 支持对 Microsoft SQL Server 数据库实例进行以下升级:

  • 主要版本升级

  • 次要版本升级

一般而言,主引擎版本升级可能引入与现有应用程序不兼容的更改。相比之下,次要版本升级仅包含与现有应用程序向后兼容的更改。

您必须手动修改数据库实例才能执行主要版本升级。如果您在数据库实例上启用自动次要版本升级,次要版本升级将自动进行。在所有其他情况下,您必须手动修改数据库实例才能执行次要版本升级。

有关在 Amazon RDS 上可用的 SQL Server 版本的信息,请参阅 Amazon RDS 上的 Microsoft SQL Server

升级概览

在升级流程期间,Amazon RDS 会创建两个数据库快照。第一个数据库快照是数据库实例在进行任何升级更改前的。如果无法完成数据库的升级,那么,就可以恢复此快照,创建一个运行旧版本的数据库实例。第二个数据库快照是在升级完成后制作的。

注意

如果您将数据库实例的备份保留期设置为大于 0 的数字,则 Amazon RDS 只需创建数据库快照。要更改您的备份保留期,请参阅 修改运行 Microsoft SQL Server 数据库引擎的数据库实例

升级完成后,您无法恢复为之前版本的数据库引擎。如果要返回之前的版本,则需要还原在升级之前创建的数据库快照,以此创建新的数据库实例。

在 SQL Server 的次要或主要版本升级期间,Free Storage SpaceDisk Queue Depth 指标将显示 -1。升级完毕后,这两个指标都将恢复正常。

主要版本升级

Amazon RDS 当前支持对 Microsoft SQL Server 数据库实例进行以下主要版本升级。

您可以将现有数据库实例从 SQL Server 2008 之外的任何版本升级到 SQL Server 2017。要从 SQL Server 2008 升级,请先升级到其他版本之一。

当前版本 支持的升级版本

SQL Server 2014

SQL Server 2017

SQL Server 2016

SQL Server 2012

SQL Server 2017

SQL Server 2016

SQL Server 2014

SQL Server 2008 R2

SQL Server 2016

SQL Server 2014

SQL Server 2012

数据库兼容性级别

您可以使用 Microsoft SQL Server 数据库兼容性级别调整某些数据库行为,以模仿之前版本的 SQL Server。有关更多信息,请参阅 Microsoft 文档中的兼容性级别

在升级数据库实例时,任何现有的数据库将保持其原始兼容性级别。例如,如果从 SQL Server 2012 升级到 SQL Server 2014,所有现有数据库的兼容性级别均为 110。在升级后创建的所有新数据库的兼容性级别为 120。

您可以使用 ALTER DATABASE 命令更改数据库的兼容性级别。例如,要将名为 customeracct 的数据库更改为与 SQL Server 2014 兼容,请发出以下命令:

ALTER DATABASE customeracct SET COMPATIBILITY_LEVEL = 120

多可用区和内存优化注意事项

Amazon RDS 通过使用 SQL Server 数据库镜像或“永不停机”支持针对运行 Microsoft SQL Server 的数据库实例的多可用区部署。有关更多信息,请参阅 Microsoft SQL Server 的多可用区部署

如果数据库实例位于多可用区部署中,则同时升级主数据库实例和备用数据库实例。Amazon RDS 不滚动升级。您只会在故障转移期间遇到停机。

SQL Server 2014/2016/2017 企业版支持内存中优化。

选项和参数组注意事项

选项组注意事项

如果数据库实例使用自定义选项组,则在某些情况下,Amazon RDS 无法自动向数据库实例分配新的选项组。例如,在您升级到新的主版本时。这种情况下,在升级时必须指定新的选项组。我们建议您创建新的选项组,然后向该组添加与现有自定义选项组相同的选项。

有关更多信息,请参阅 创建选项组为选项组创建副本

参数组注意事项

如果数据库实例使用自定义参数组,则在某些情况下,Amazon RDS 无法自动向数据库实例分配新参数组。例如,在您升级到新的主版本时。这种情况下,在升级时必须指定新参数组。我们建议您创建新参数组,然后配置您现有的自定义参数组中的那些参数。

有关更多信息,请参阅 创建数据库参数组复制数据库参数组

测试升级

在数据库实例上执行主要版本升级前,应该彻底地测试数据库以及访问该数据库的所有应用程序,了解是否与新版本兼容。我们建议您使用以下过程。

测试主要版本升级

  1. 检查新版数据库引擎的升级文档以了解是否存在可能会影响数据库或应用程序的兼容性问题:

  2. 如果数据库实例使用自定义选项组,则创建与您正升级到的新版本兼容的新选项组。有关更多信息,请参阅 选项组注意事项

  3. 如果数据库实例使用自定义参数组,则创建与您正升级到的新版本兼容的新参数组。有关更多信息,请参阅参数组注意事项

  4. 为要升级的数据库实例创建数据库快照。有关更多信息,请参阅创建数据库快照

  5. 恢复数据库快照,以便创建一个新的测试数据库实例。有关更多信息,请参阅从数据库快照还原

  6. 使用下面介绍的一种方法来修改此新测试数据库实例,以将其升级到新版本:

  7. 计算升级的实例使用的存储容量以决定升级是否需要额外的存储容量。

  8. 对升级的数据库实例运行所需次数的质量保证测试以确保数据库和应用程序可正常使用新版本。实施任何必需的新测试,评估您在步骤 1 中发现的任何兼容性问题的影响。测试所有的存储过程和功能。将应用程序的测试版本指向所升级的数据库实例。

  9. 如果所有测试通过,那么请在生产数据库实例上执行升级。我们建议您直到确认一切正常后,再允许对数据库实例执行写入操作。

升级 SQL Server 数据库实例

有关手动或自动升级 SQL Server 数据库实例的信息,请参阅升级数据库实例引擎版本