重启实例

当RDS SQL Server实例出现连接数满或性能等问题时,您可以通过手动重启实例来缓解或解决。

背景信息

使用RDS实例的过程中,您可能会遇到以下情况:

  • 实例出现连接数满或性能问题时,可通过重启实例解决。

  • 个别参数修改后需要生效,可通过重启实例解决。

  • 实例存储空间满导致升级空间无法成功,可通过重启实例自动释放TempDB解决问题。

    说明

    TempDB是SQL Server的系统库之一,主要存储临时用户对象、内部对象以及行版本数据,每次实例重启都会重建。

  • 部分实例内核小版本过老,存在一些已知问题。可通过重启实例临时缓解,后面再通过升级内核小版本解决。

  • 某些版本实例在高可用镜像模式下可能存在内存泄漏的问题,可通过重启实例临时缓解,后面再通过升级实例大版本解决。

前提条件

实例状态为运行中

影响

  • 重启实例的时间取决于实例当前的性能状态、内存中脏页(即,内存数据页和磁盘数据页不一致的情况)的情况以及是否存在长事务等多方面因素,通常90%的情况下,重启实例会造成30秒左右的连接中断。请确保业务有自动重连机制,重启前请做好业务安排,谨慎操作。

    说明

    RDS基础系列实例只有一个数据库节点,没有备节点作为热备份,因此当该节点意外宕机或者执行重启实例、变更配置、版本升级等任务时,会出现较长时间的不可用。如果业务对数据库的可用性要求较高,不建议使用基础系列实例,可选择其他系列(如高可用系列),部分基础系列实例也支持升级为高可用系列

  • 如果主实例包含只读实例,重启实例不会重启只读实例,复制关系将在重启后自动恢复。

  • 重启实例操作发起后,实例状态会变为重启中,将造成连接中断,请提前规划好业务。

操作步骤

  1. 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。

  2. 在页面右上角,单击重启实例

    image.png

  3. 在弹出的确认框中,单击确定

  4. 在弹出的对话框中进行短信或MFA验证。

相关API

您可以通过API重启RDS实例,请参见RestartDBInstance - 重启RDS实例

常见问题

  • Q:如果是高可用系列实例,如果重启主实例,是否会造成主备切换?

    A:重启实例会重启实例的主备节点,不会触发主备切换,且重启后实例主备库的可用区也不会发生变化。

  • Q:实例重启后,主备实例的连接地址和IP是否会发生变化?

    A:实例重启操作不涉及网络变更,包括连接地址、IP都不会变化。

  • Q:重启实例主要分为哪几个阶段,具体与哪些因素相关?可以如何减少重启时长?

    A:重启实例主要分为两个阶段:

    • 停止实例阶段:停止时长与主机、实例整体的性能状态以及当前内存的脏页情况等因素有关。

    • 启动实例阶段:启动时长与主机、实例整体的性能状态以及需要恢复日志的大小等因素有关,且恢复日志大小通常与停止时内存脏页情况以及是否存在长事务(即,执行时间较长的事务)关联。通常也与恢复间隔recovery interval参数配置有关,建议使用默认值,如需修改该参数请参见配置恢复间隔

    您可通过减少长事务或调整恢复间隔recovery interval参数配置来减少重启时长。