Amazon Relational Database Service
用户指南 (API Version 2014-10-31)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。请点击 Amazon 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 2014

SQL Server 2016

SQL Server 2012

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 版本的兼容性级别:

  • SQL Server 2016 – 兼容性级别 130

  • SQL Server 2014 – 兼容性级别 120

  • SQL Server 2012 – 兼容性级别 110

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

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

Copy
ALTER DATABASE customeracct SET COMPATIBILITY_LEVEL = 120

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

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

如果数据库实例在多可用区部署中,则同时升级主实例和备用实例。主实例和备用实例将同时升级,在此期间服务会中断,直到升级完成。

SQL Server 2014 Enterprise Edition 和 SQL Server 2016 Enterprise Edition 支持内存优化。启用了内存优化的数据库实例不支持多可用区部署。在将数据库实例升级为支持多可用区时,Amazon RDS 会自动禁用内存优化。

选项和参数组注意事项

选项组注意事项

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

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

参数组注意事项

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

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

测试升级

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

测试主要版本升级

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

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

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

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

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

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

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

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

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

AWS 管理控制台

要使用 AWS 管理控制台升级 Microsoft SQL Server 数据库实例,您应按照修改数据库实例的过程操作。有关详细说明,请参阅 修改运行 Microsoft SQL Server 数据库引擎的数据库实例

CLI

要使用 AWS CLI 升级 Microsoft SQL Server 数据库实例,请使用以下参数调用 modify-db-instance 命令:

  • --db-instance-identifier – 数据库实例的名称。

  • --engine-version – 数据库引擎要升级到的版本号。

  • --allow-major-version-upgrade – 升级主要版本。

  • --no-apply-immediately – 在下一维护时段内应用更改。要立即应用更改,请使用 --apply-immediately。有关更多信息,请参阅 立即应用的影响

建议您还应包含以下参数。有关更多信息,请参阅 选项组注意事项参数组注意事项

  • --option-group-name – 所升级数据库实例的选项组。

  • --db-parameter-group-name – 所升级数据库实例的参数组。

以下代码将升级数据库实例。这些更改将在下一维护时段内应用。

针对 Linux、OS X 或 Unix:

Copy
aws rds modify-db-instance \ --db-instance-identifier <mydbinstance> \ --engine-version <11.00.6020.0.v1> \ --option-group-name <default:sqlserver-se-11-00> \ --db-parameter-group-name <default.sqlserver-se-11.0> \ --allow-major-version-upgrade \ --no-apply-immediately

对于 Windows:

Copy
aws rds modify-db-instance ^ --db-instance-identifier <mydbinstance> ^ --engine-version <11.00.6020.0.v1> ^ --option-group-name <default:sqlserver-se-11-00> ^ --db-parameter-group-name <default.sqlserver-se-11.0> ^ --allow-major-version-upgrade ^ --no-apply-immediately

API

要使用 Amazon RDS API 升级 Microsoft SQL Server 数据库实例,请使用以下参数调用 ModifyDBInstance 操作:

  • DBInstanceIdentifier – 数据库实例的名称。

  • EngineVersion – 数据库引擎要升级到的版本号。

  • AllowMajorVersionUpgrade – 设置为 true 可升级主要版本。

  • ApplyImmediately – 是立即应用更改还是在下一个维护时段内应用更改。要立即应用更改,请将该值设置为 true。要在下一个维护时段内应用更改,请将该值设置为 false。有关更多信息,请参阅 立即应用的影响

建议您还应包含以下参数。有关更多信息,请参阅 选项组注意事项参数组注意事项

  • OptionGroupName – 所升级数据库实例的选项组。

  • DBParameterGroupName – 所升级数据库实例的参数组。

以下代码将升级数据库实例。这些更改将在下一维护时段内应用。

Copy
https://rds.amazonaws.com/ ?Action=ModifyDBInstance &AllowMajorVersionUpgrade=true &ApplyImmediately=false &DBInstanceIdentifier=mydbinstance &DBParameterGroupName=default.sqlserver-se-11.0 &EngineVersion=11.00.6020.0.v1 &OptionGroupName=default:sqlserver-se-11-00 &SignatureMethod=HmacSHA256 &SignatureVersion=4 &Version=2014-10-31 &X-Amz-Algorithm=AWS4-HMAC-SHA256 &X-Amz-Credential=AKIADQKE4SARGYLE/20131016/us-west-1/rds/aws4_request &X-Amz-Date=20131016T233051Z &X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date &X-Amz-Signature=087a8eb41cb1ab5f99e81575f23e73757ffc6a1e42d7d2b30b9cc0be988cff97

相关主题