如何解决 Amazon RDS 数据库实例用尽存储空间时出现的问题?

1 分钟阅读
0

我的 Amazon Relational Database Service (Amazon RDS) 数据库实例存储空间不足,我无法停止、重新启动或连接到该实例。

简短描述

要避免存储已满状态,请考虑使用以下一种或多种预防措施:

解决方法

处于存储已满状态的 Amazon RDS 数据库实例没有足够的可用空间来执行基本操作,例如连接或重新启动实例。要解决此问题,请执行以下操作:

  1. 确认数据库实例状态处于存储已满状态。
  2. 增加分配给数据库实例的存储
    注意:如果数据库实例处于存储已满状态,则该实例仅接受对分配的存储进行的修改。对其他值的任何修改都将被拒绝。
    **注意:**必须将分配的存储空间增加至少 10%。增加的存储空间小于 10% 会导致错误。

当数据库实例处于存储优化状态时,该实例会正常运行。但是,在实例上完成存储优化后的至少六个小时内,您不能进行其他存储修改。

在大多数情况下,小幅增加分配的存储空间,即可重新连接到实例,以便您执行其他问题排查操作。如果 Amazon RDS 数据库实例未处于存储已满状态,请参阅无法连接到 Amazon RDS 数据库实例,以了解其他问题排查步骤。

Amazon RDS for SQL Server

某些数据库实例存在修改存储限制。在 Amazon RDS 控制台中,如果数据库实例不符合修改条件,则分配的存储空间选项将被禁用。如果您想扩展 Amazon RDS for SQL Server 实例的存储,但修改存储大小的选项不可用,则可以使用本机备份和还原功能迁移数据。也可以使用数据迁移工具将数据迁移到具有预调配 IOPS 或通用型(SSD)存储类型的新实例。有关更多信息,请参阅修改 Amazon RDS 数据库实例

可以使用以下 AWS 命令行界面(AWS CLI)命令来返回数据库实例的有效存储选项,从而检查是否符合资格:

describe-valid-db-instance-modifications

可以通过执行下列操作,减少 Amazon RDS for SQL Server 实例中使用的空间:

  • 如果 Amazon RDS 实例的存储空间已满,或者您想控制数据库日志的大小,请运行 DBCC SQLPERF(LOGSPACE) TSQL 查询来查看 SQL Server 事务日志的大小以及已用日志空间百分比。有关此查询的更多信息,请参阅 Microsoft 文档 DBCC SQLPERF (Transact-SQL)。如果使用的日志空间百分比较低,但事务日志文件大小较大,则缩小事务日志文件可恢复磁盘空间。有关更多信息,请参阅连接到运行 Microsoft SQL Server 数据库引擎的数据库实例
  • 请注意,在启用自动增长后,SQL Server tempdb 会自动增长。最佳做法是,如果 tempdb 正在占用大量存储空间,则应缩减 tempdb 数据库的大小。
    如果未在 maxsize 中指定限制,则 tempdb 会消耗可用存储空间。

相关信息

如何解决 Amazon RDS MySQL 数据库实例使用的存储空间超过预期的问题?

如何创建 CloudWatch 告警来监控 Amazon RDS 的可用存储空间并防止出现存储空间已满问题?

如何排查运行 SQL Server 的 Amazon RDS 数据库实例中的存储消耗问题?

Amazon RDS 故障排除

监控 Amazon RDS 日志文件