How do I resolve problems that occur when Amazon RDS DB instances run out of storage?
Last updated: 2019-09-16
My Amazon Relational Database Service (Amazon RDS) DB instance is out of storage, and I can't stop, restart, or connect to the instance. How do I troubleshoot this issue?
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 that is published in Amazon CloudWatch. For more information, see Monitoring with Amazon CloudWatch.
- Check the status of your DB instance regularly. For more information, see Amazon RDS DB Instance Running Out of Storage.
- Enable storage autoscaling for your Amazon RDS DB instance if your workload is cyclical or unpredictable.
An Amazon RDS DB instance in the STORAGE_FULL state doesn't have enough available space to perform basic operations, such as connecting to or restarting the instance. To resolve this issue, follow these steps:
- Confirm that the DB instance status is STORAGE_FULL.
- Add more storage space to the instance.
- Increase the allocated storage property of your DB instance. If the DB instance is in a STORAGE_FULL state, 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 than 10% results in an error.
When the DB instance is in a storage-optimization status, the instance is operational, but you can't make other storage modifications for six hours or until the DB instance's status is no longer storage-optimization. In most cases, a small increase to the Allocated Storage allows you to reconnect to the instance so that you can perform additional troubleshooting. If your Amazon RDS DB instance is not in the STORAGE_FULL state, see Cannot Connect to Amazon RDS DB Instance for additional troubleshooting steps.
Amazon RDS for SQL Server
There are some limitations for modifying the storage of some DB instances. In the Amazon RDS console, the Allocated Storage option is disabled if your DB instance isn’t eligible to be modified. If you want to scale storage Amazon RDS for SQL Server instances but the option to modify the storage size isn't available, you can migrate your data using native backup and restore. Or, you can 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 a DB Instance Running the Microsoft SQL Server Database Engine.
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 SQL Server instances by performing these 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, 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.
- If the tempdb is using a large amount of available storage, shrink the tempdb database. Because the SQL Server tempdb grows automatically when auto-growth is enabled and there is no limit specified in maxsize, the tempdb consumes available storage.