How do I resolve problems that occur when Amazon RDS DB instances run out of storage?
Last updated: 2022-06-07
My Amazon Relational Database Service (Amazon RDS) DB instance is out of storage, and I can't stop, restart, or connect to the instance.
To avoid the storage-full state, consider using one or more of the following preventative measures:
- Track the performance and health of your Amazon RDS DB instance by monitoring Amazon RDS.
- Monitor available storage space for a DB instance by using the FreeStorageSpace metric in Amazon CloudWatch. For more information, see Monitoring Amazon RDS metrics with Amazon CloudWatch.
- Check the status of your DB instance regularly. For more information, see Amazon RDS DB instance running out of storage.
- If your workload is cyclical or unpredictable, turn on storage autoscaling for your Amazon RDS DB instance.
- Create an Amazon CloudWatch alarm to monitor the free storage space and notify when the storage space reaches a threshold value (for example, 80%). For more information, see How can I create CloudWatch alarms to monitor the Amazon RDS free storage space and prevent storage full issues?
An Amazon RDS DB instance in the storage-full status doesn't have enough available space to perform basic operations, such as connecting to or restarting the instance. To resolve this issue, do the following:
- Confirm that the DB instance status is storage-full.
- Increase the allocated storage of your DB instance.
Note: If the DB instance is in a storage-full state, then the instance accepts only allocated storage modifications. Any modifications for other values are rejected.
Note: You must increase allocated storage by at least 10%. An increase less of than 10% results in an error.
When the DB instance is in the storage-optimization status, the instance is operational. However, you can't make other storage modifications for at least six hours after storage optimization is completed on the instance.
In most cases, a small increase to Allocated storage allows you to reconnect to the instance so that you can perform additional troubleshooting. If your Amazon RDS DB instance isn't in the storage-full state, see Can't connect to Amazon RDS DB instance for additional troubleshooting steps.
Amazon RDS for SQL Server
There are limitations for modifying the storage of some DB instances. In the Amazon RDS console, the Allocated storage option is deactivated if your DB instance isn’t eligible to be modified. To scale storage for Amazon RDS for SQL Server instances when the option to modify the storage size isn't available, migrate your data using native backup and restore. Or, use a data migration tool to migrate to a new instance that has a Provisioned IOPS or General Purpose (SSD) storage type. For more information, see Modifying an Amazon RDS DB instance.
You can check eligibility by using the following AWS Command Line Interface (AWS CLI) command to return the valid storage options for your DB instance:
You can reduce space used in Amazon RDS for SQL Server instances by performing the following actions:
- If your Amazon RDS instance has a storage full condition or you want to control the size of your DB logs, run the DBCC SQLPERF(LOGSPACE) TSQL query to review the size of the SQL Server Transaction Log and the percentage of log space used. For more information about this query, see the Microsoft documentation for DBCC SQLPERF (Transact-SQL). If the percentage of log space used is low but the transaction log file size is high, then shrink the transaction log file to recover disk space. For more information, see Connecting to a DB instance running the Microsoft SQL Server database engine.
- Note that the SQL Server tempdb grows automatically when auto-growth is turned on. As a best practice, shrink the tempdb database when the tempdb is using a large amount of available storage.
When there is no limit specified in maxsize, then the tempdb consumes available storage.