Help us improve the AWS re:Post Knowledge Center by sharing your feedback in a brief survey. Your input can influence how we create and update our content to better support your AWS journey.
¿Cómo puedo optimizar el consumo de almacenamiento en mi instancia de base de datos de Amazon RDS para SQL Server?
Mi instancia de base de datos de Amazon Relational Database Service (Amazon RDS) para Microsoft SQL Server usa más espacio del esperado. Quiero optimizar mi almacenamiento en disco.
Descripción corta
Puedes usar la métrica FreeStorageSpace de Amazon CloudWatch para supervisar el espacio de almacenamiento disponible de una instancia de base de datos. La métrica FreeStorageSpace no describe cómo el motor de SQL Server consume el almacenamiento disponible. Supervisa esta métrica con frecuencia y activa el escalamiento automático del almacenamiento para asegurarte de que no te quedas sin almacenamiento.
Resolución
Nota: Si se muestran errores al ejecutar comandos de la Interfaz de la línea de comandos de AWS (AWS CLI), consulta Solución de problemas de AWS CLI. Además, asegúrate de utilizar la versión más reciente de la AWS CLI.
Instancia de Amazon RDS para SQL Server en estado Almacenamiento completo
No puedes realizar operaciones básicas cuando la instancia de Amazon RDS está bloqueada en el estado Almacenamiento completo. Para obtener más información, consulta ¿Cómo puedo solucionar los problemas que surgen cuando las instancias de base de datos de Amazon RDS se quedan sin almacenamiento?
Algunas instancias de base de datos de RDS para SQL Server tienen limitaciones en cuanto a la forma de modificar el almacenamiento. Si t instancia de base de datos no es apta para la modificación, la opción Almacenamiento asignado de la consola de Amazon RDS está desactivada. Para escalar el almacenamiento en una instancia cuando la opción de modificación no esté disponible, usa una copia de seguridad y restauración nativa para migrar tus datos a una nueva instancia. Asegúrate de que la nueva instancia tenga entradas/salidas aprovisionadas por segundo (IOPS) o de que disponga del tipo de almacenamiento de uso general (SSD). O bien, usa una herramienta de migración de datos para migrar a la nueva instancia. Para obtener más información, consulta Modificación de una instancia de base de datos de Amazon RDS.
Para ver las opciones de almacenamiento válidas para tu instancia de base de datos, ejecuta el comando describe-valid-db-instance-modifications:
describe-valid-db-instance-modifications
Nota: No se admite el escalamiento ni el escalamiento automático del almacenamiento en las instancias de RDS para SQL Server que usan almacenamiento magnético.
Para las instancias que tengan activado el escalamiento automático de almacenamiento, el almacenamiento solo se puede ampliar en ciertos escenarios. Para obtener más información, consulta Administración automática de la capacidad con el escalamiento automático de almacenamiento de Amazon RDS. Además, solo puedes ampliar el almacenamiento cuando el umbral máximo de almacenamiento no iguala o supera el incremento de almacenamiento. Para obtener más información, consulta Limitaciones.
Consumo de almacenamiento de las instancias de RDS para SQL Server
Para obtener información sobre el uso del espacio en disco físico de una instancia de base de datos de RDS para SQL Server, ejecuta una consulta similar a la siguiente:
SELECT D.name AS [database_name] , F.name AS [file_name] , F.type_desc AS [file_type] , CONVERT(decimal(10,2), F.size * 0.0078125) AS [size_on_disk_mb] , CONVERT(decimal(10,2), F.max_size * 0.0078125) AS [max_size_mb] FROM sys.master_files AS F INNER JOIN sys.databases AS D ON F.database_id = D.database_id;
Los archivos que contienen ROWS constan de datos y los archivos que contienen LOGS representan transacciones en curso.
Para obtener más información, consulta sys.master_files (Transact-SQL) en el sitio web de Microsoft.
Nota: La vista del sistema sys.master_files muestra el tamaño de inicio de tempdb. No refleja el tamaño actual de tempdb.
Para comprobar el tamaño actual de tempdb, ejecuta la siguiente consulta:
select name AS [database_name], physical_name AS [file_name], convert(decimal(10,2),size*0.0078125) AS [size_on_disk_mb] from tempdb.sys.database_files;
Antes de optimizar el almacenamiento, asegúrate de comprender cómo utiliza el almacenamiento el motor de SQL Server. El almacenamiento del motor de SQL Server se define en términos generales con las categorías siguientes:
Archivos de base de datos
Puedes dividir el almacenamiento total que usa una base de datos individual en filas, índices y espacio libre en la base de datos actualmente activa. Para desglosar el almacenamiento total, ejecuta la siguiente consulta:
EXEC sp_spaceused;
Archivos de registro de transacciones
Para determinar la cantidad de almacenamiento que usan los registros de transacciones, ejecuta la siguiente consulta:
DBCC SQLPERF(LOGSPACE)
Es posible que veas espacio libre en los registros de transacciones. Para desasignar el espacio libre excesivo, ejecuta el comando DBCC SHRINKFILE. Para obtener más información, consulta DBCC SHRINKFILE (Transact-SQL) en el sitio web de Microsoft.
Para reducir la asignación excesiva de espacio libre para los registros de transacciones, usa las opciones de archivo y grupo de archivos ALTER DATABASE (transact-SQL). Las opciones configuran los ajustes de crecimiento automático de la base de datos. Para obtener más información, consulta Opciones de archivos y grupos de archivos de ALTER DATABASE (Transact-SQL) en el sitio web de Microsoft.
Base de datos temporal (tempdb)
La base de datos tempdb de SQL Server crece automáticamente. Si la base de datos tempdb consume una gran cantidad de almacenamiento disponible, puedes reducir el tamaño de la base de datos tempdb.
Nota: Si reduces el tamaño de una base de datos tempdb, compruebe la pestaña Mensajes de SQL Server Management Studio (SSMS) en busca de mensajes de error después de ejecutar el comando.
Si recibes el mensaje de error «DBCC SHRINKFILE: Page could not be moved because it is a work table page», consulta DBCC FREESYSTEMCACHE (Transact-SQL) y DBCC FREEPROCCACHE (Transact-SQL) en el sitio web de Microsoft. También puedes reiniciar la instancia de la base de datos para borrar la base de datos tempdb.
Es posible que las instancias de base de datos con el estado Almacenamiento completo no se reinicien. Si esto ocurre, aumenta el almacenamiento asignado a la instancia de base de datos y, a continuación, vuelve a reiniciar. Para obtener más información, consulta ¿Cómo puedo solucionar los problemas que surgen cuando las instancias de base de datos de Amazon RDS se quedan sin almacenamiento?
Índices de bases de datos
Si dedicas una gran cantidad del almacenamiento disponible a los índices, es posible que puedas ahorrar algo de espacio mediante el ajuste de los índices. Para obtener información sobre el uso del índice, ejecuta la vista de administración dinámica sys.dm_db_index_usage_stats. Esto puede ayudarte a evaluar las prioridades de ajuste. Para obtener más información, consulta sys.dm_db_index_usage_stats (Transact-SQL) en el sitio web de Microsoft.
Archivos de seguimiento
Los archivos de seguimiento, incluidos los archivos C2 Audit Trace y los archivos de volcado, pueden consumir una gran cantidad de espacio en disco. Amazon RDS elimina automáticamente los archivos de seguimiento y de volcado con una antigüedad superior a 7 días, pero también puedes ajustar la configuración de retención de los archivos de seguimiento. Para obtener más información, consulta Configuración del periodo de retención para los archivos de seguimiento y volcado.
Espacio consumido por la integración de Amazon S3
Si integraste tu instancia de base de datos de RDS con Amazon S3, es posible que hayas cargado archivos a tu unidad D: que estén ocupando espacio. Para comprobar cuánto espacio consume la integración de S3, ejecuta un comando para mostrar los archivos de la instancia de base de datos. Para obtener más información, consulta Descripción de los archivos de la instancia de base de datos de RDS.
CDC
En el caso de las bases de datos que tienen activado CDC, el tamaño del archivo de registro aumenta en función de la frecuencia de los cambios en las tablas o bases de datos de origen. El almacenamiento podría llegar a agotarse. Si el disco de registro se llena, CDC no podrá procesar más transacciones.
Auditoría
Si la auditoría no está configurada correctamente para una instancia, los registros pueden crecer exponencialmente y afectar al almacenamiento. Para obtener más información, consulta SQL Server Audit.
El modo de auditoría C2 guarda una gran cantidad de información de eventos en el archivo de registro. El tamaño del archivo de registro puede aumentar rápidamente y poner la instancia en el estado Almacenamiento completo. Para obtener más información, consulta Modo de auditoría C2 (opción de configuración del servidor) en el sitio web de Microsoft.
Además, si activas características como el almacén de consultas, es posible que la utilización de los recursos se vea afectada.
Información relacionada
Amazon RDS para Microsoft SQL Server
Supervisar métricas en una instancia de Amazon RDS
La instancia de base de datos de Amazon RDS se está quedando sin espacio de almacenamiento
Migrar bases de datos de Microsoft SQL Server a la nube de AWS
- Idioma
- Español
Vídeos relacionados


Contenido relevante
- preguntada hace 4 meses
- preguntada hace 3 meses
- preguntada hace 3 meses