Share Your AWS re:Post Experience - Quick 3 Question Survey
Help us improve AWS re:Post! We're interested in understanding how you use re:Post and its impact on your AWS journey. Please take a moment to complete our brief 3-question survey.
¿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
Puede 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. Supervise esta métrica con frecuencia y active el escalamiento automático del almacenamiento para asegurarse de que no se queda sin almacenamiento.
Resolución
Nota: Si se muestran errores al poner en marcha comandos de Interfaz de la línea de comandos de AWS (AWS CLI), consulte Solución de errores de AWS CLI. Además, asegúrese de utilizar la versión más reciente de la AWS CLI.
Instancia de Amazon RDS para SQL Server en estado Almacenamiento completo
No puede realizar operaciones básicas cuando la instancia de RDS está bloqueada en el estado Almacenamiento completo. Para obtener más información, consulte ¿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 su 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, use una copia de seguridad y restauración nativa para migrar sus datos a una nueva instancia. Asegúrese 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, use una herramienta de migración de datos para migrar a la nueva instancia. Para obtener más información, consulte Modificación de una instancia de base de datos de Amazon RDS.
Para ver las opciones de almacenamiento válidas para su instancia de base de datos, ejecute el comando describe-valid-db-instance-modifications:
describe-valid-db-instance-modifications
Nota: No se admite el escalado 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, consulte Administración automática de la capacidad con el escalamiento automático de almacenamiento de Amazon RDS. Además, solo puede ampliar el almacenamiento cuando el umbral máximo de almacenamiento no iguala o supera el incremento de almacenamiento. Para obtener más información, consulte 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, ejecute 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, consulte 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, ejecute 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úrese 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
Puede 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, ejecute la siguiente consulta:
EXEC sp_spaceused;
Archivos de registro de transacciones
Para determinar la cantidad de almacenamiento que usan los registros de transacciones, ejecute la siguiente consulta:
DBCC SQLPERF(LOGSPACE)
Es posible que vea espacio libre en los registros de transacciones. Para desasignar el espacio libre excesivo, ejecute el comando DBCC SHRINKFILE. Para obtener más información, consulte DBCC SHRINKFILE (Transact-SQL) en el sitio web de Microsoft.
Para reducir la asignación excesiva de espacio libre para los registros de transacciones, use 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, consulte 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, puede reducir el tamaño de la base de datos tempdb.
Nota: Si reduce 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 recibe el mensaje de error «DBCC SHRINKFILE: Page could not be moved because it is a work table page», consulte DBCC FREESYSTEMCACHE (Transact-SQL) y DBCC FREEPROCCACHE (Transact-SQL) en el sitio web de Microsoft. También puede 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 Storage Full no se reinicien. Si esto ocurre, aumente el almacenamiento asignado a la instancia de base de datos y, a continuación, vuelva a reiniciar. Para obtener más información, consulte ¿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 dedica una gran cantidad del almacenamiento disponible a los índices, es posible que pueda ahorrar algo de espacio mediante el ajuste de los índices. Para obtener información sobre el uso del índice, ejecute la vista de administración dinámica sys.dm_db_index_usage_stats. Esto puede ayudarle a evaluar las prioridades de ajuste. Para obtener más información, consulte 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 puede ajustar la configuración de retención de los archivos de seguimiento. Para obtener más información, consulte Configuración del periodo de retención para los archivos de seguimiento y volcado.
Espacio consumido por la integración de Amazon S3
Si integró su instancia de base de datos de RDS con Amazon S3, es posible que haya cargado archivos a su unidad D: que estén ocupando espacio. Para comprobar cuánto espacio consume la integración de S3, ejecute un comando para mostrar los archivos de la instancia de base de datos. Para obtener más información, consulte 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, consulte 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 Storage Full. Para obtener más información, consulte Modo de auditoría C2 (opción de configuración del servidor) en el sitio web de Microsoft.
Además, si activa 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
Vídeos relacionados


Contenido relevante
- preguntada hace 2 meseslg...
- preguntada hace 2 díaslg...
- Respuesta aceptadapreguntada hace 6 díaslg...
- preguntada hace 25 díaslg...
- preguntada hace 9 díaslg...
- OFICIAL DE AWSActualizada hace 2 meses
- OFICIAL DE AWSActualizada hace 2 años
- OFICIAL DE AWSActualizada hace 2 años
- OFICIAL DE AWSActualizada hace 2 meses