Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Actualización más reciente 2024-06-06 GMT+08:00

Reducción de bases de datos

Escenarios

Puede utilizar procedimientos almacenados para reducir el tamaño de los archivos de datos y de registro de una base de datos especificada.

  • rds_shrink_database: reduce todos los archivos de una base de datos especificada.
  • rds_shrink_database_log: reduce los archivos de registro de una base de datos especificada.

Para obtener más operaciones, consulte Reducir una base de datos de RDS for SQL Server.

Prerrequisitos

Se ha conectado una instancia de base de datos de RDS for SQL Server. Puede conectarse a la instancia de base de datos a través del cliente de SQL Server. Para obtener más información, consulte Conexión a una instancia de base de datos a través de una red pública.

Reducir una base de datos

  1. Ejecute el siguiente comando para reducir la base de datos:

    EXEC [master].[dbo].[rds_shrink_database] @DBName='myDbName';

    Tabla 1 Descripción de parámetro

    Parámetro

    Descripción

    myDbName

    Nombre de la base de datos que se va a reducir. Si no se especifica este parámetro, todas las bases de datos se reducen de forma predeterminada.

  2. Una vez que el comando se ejecuta correctamente, se muestra la siguiente información:

    HW_RDS_Process_Successful: Shrink Database Done.

Reducir archivos de registro de base de datos

Ejecute el siguiente comando para reducir los archivos de registro de una base de datos especificada:

EXEC [master].[dbo].[rds_shrink_database_log] @dbname;

@dbname: indica el nombre de la base de datos cuyos archivos de registro deben ser reducidos.

Ejemplo

  1. Ejecute el siguiente comando para reducir la base de datos dbtest2:

    EXEC [master].[dbo].[rds_shrink_database] @DBName = 'dbtest2';

    El resultado del comando es el siguiente.

  2. Ejecute el siguiente comando para reducir todas las bases de datos:

    EXEC [master].[dbo].[rds_shrink_database];

  3. Ejecute el siguiente comando para reducir los archivos de registro de la base de datos testdb:

    EXEC [master].[dbo].[rds_shrink_database_log]@dbname='dbtest3';

Preguntas frecuentes

  1. Si se muestra un mensaje de error que indica que el archivo de registro está en uso durante la ejecución del procedimiento almacenado, ejecute el procedimiento almacenado más tarde.
  2. Si el tamaño del archivo de registro no cambia después de ejecutar el procedimiento almacenado, ejecute la siguiente instrucción SQL en la base de datos para comprobar si hay suficiente espacio disponible en el archivo de registro:
    SELECT name, size/128.0 - CAST(FILEPROPERTY(name, 'SpaceUsed') AS int)/128.0 AS AvailableSpaceInMB FROM sys.database_files WHERE type_desc='LOG';