SQL Server 升级的注意事项
在升级流程期间,Amazon RDS 会创建两个数据库快照。第一个数据库快照是数据库实例在进行任何升级更改前的。第二个数据库快照是在升级结束后制作的。
注意
如果您将数据库实例的备份保留期设置为大于 0 的数字,则 Amazon RDS 只需创建数据库快照。要更改您的备份保留期,请参阅 修改 Amazon RDS 数据库实例。
升级完成后,您无法恢复为之前版本的数据库引擎。如果您想恢复到以前的版本,请从升级前创建的数据库快照还原以创建新的数据库实例。
在 SQL Server 的次要或主要版本升级期间,Free Storage Space和 Disk Queue Depth 指标将显示 -1
。升级完毕后,这两个指标都将恢复正常。
在升级 SQL Server 实例之前,请查看以下信息。
启动升级之前的最佳实践
在开始升级过程之前,请实施以下准备步骤,以实现最佳的升级性能并最大限度地减少潜在问题:
- 时间和工作负载管理
-
安排在事务量较低的时段进行升级。
在升级时段内尽量减少写入操作。
这样,Amazon RDS 就能够通过减少 RDS 在次要到主要配对期间需要还原的事务日志备份文件的数量,来更快地完成升级。
- 事务管理
-
确定并监控长时间运行的事务。
在开始升级之前,确保所有关键事务都已提交。
防止在升级时段内具有长时间运行的事务。
- 日志文件优化
-
查看和优化事务日志文件:
缩小大小过大的日志文件。
减少较高的日志消耗模式。
管理虚拟日志文件(VLF)。
为正常操作保留充足的可用空间。
多可用区注意事项
Amazon RDS 通过使用 SQL Server 数据库镜像 (DBM) 或 Always On 可用性组 (AG) 支持为运行 Microsoft SQL Server 的数据库实例进行多可用区部署。有关更多信息,请参阅 Amazon RDS for Microsoft SQL Server 多可用区部署。
在多可用区部署(Mirroring/AlwaysOn)中,当请求升级时,RDS 会对主实例和辅助实例采用滚动升级策略。滚动升级可确保在辅助实例升级期间至少有一个实例可用于事务。预计中断只会持续失效转移的这段期间。
在升级期间,RDS 会将辅助实例从多可用区配置中移除,对辅助实例执行升级,并还原在主实例断开连接期间从主实例获取的所有事务日志备份。还原所有日志备份后,RDS 会将升级后的辅助实例加入主实例。当所有数据库都处于同步状态时,RDS 会失效转移到已升级的辅助实例。失效转移完成后,RDS 将继续升级旧的主实例,还原所有事务日志备份,并使其与新的主实例配对。
为了尽量减少此失效转移持续时间,我们建议,当使用在连接字符串中支持 MultiSubnetFailover
连接选项的客户端库时,使用 AlwaysOn AG 可用性组侦听器端点。使用可用性组侦听器端点时,失效转移时间通常少于 10 秒,但是,此持续时间不包括任何额外的崩溃恢复时间。
只读副本注意事项
在数据库版本升级期间,Amazon RDS 会升级所有只读副本以及主数据库实例。Amazon RDS 不支持单独对只读副本进行数据库版本升级。有关只读副本的更多信息,请参阅 在 Amazon RDS 中使用 Microsoft SQL Server 的只读副本。
当您执行主数据库实例的数据库版本升级时,该实例的所有只读副本也会自动升级。Amazon RDS 将在升级主数据库实例之前同时升级所有只读副本。在主数据库实例上的数据库版本升级完成之前,只读副本可能不可用。
选项组注意事项
如果数据库实例使用自定义数据库选项组,则在某些情况下,Amazon RDS 无法自动向数据库实例分配新的选项组。例如,在您升级到新的主要版本时,必须指定新的选项组。我们建议您创建新的选项组,然后向该组添加与现有自定义选项组相同的选项。
参数组注意事项
如果您的数据库实例使用自定义数据库参数组:
-
Amazon RDS 在升级后自动重新启动数据库实例。
-
在某些情况下,RDS 无法自动为您的数据库实例分配新参数组。
例如,在升级到新的主要版本时,必须指定新参数组。我们建议您创建新参数组,然后配置您现有的自定义参数组中的那些参数。
有关更多信息,请参阅 在 Amazon RDS 中创建数据库参数组 或 在 Amazon RDS 中复制数据库参数组。