Base de datos crece al utilizar DBCC SHRINKDATABASE

Ariel Sartor 20 Puntos de reputación
2024-10-17T19:20:53.5+00:00

Cree una base de datos y recuperé el back de una que ocupaba en disco aprox 500 megas.

Luego limpié esa base de datos eliminado los registro y utilicé DBCC SHRINKDATABASE (db, REORGANIZE) e increíblemente la base de datos creció en lugar de disminuir su tamaño.

Paso siguiente por las dudas reorganicé índices y volví a ejecutar DBCC SHRINKDATABASE (db, REORGANIZE) y para mi sorpresa la base de datos ahora ocupa 3,5 Gb.

Qué debería hacer?, si hago un backup de esa base de datos sólo ocupa 150 kb...

SQL Server
SQL Server
Familia de sistemas de análisis y administración de bases de datos relacionales de Microsoft para soluciones de comercio electrónico, línea de negocio y almacenamiento de datos.
111 preguntas
0 comentarios No hay comentarios
{count} votos

Respuesta aceptada
  1. Gao Chen 2,955 Puntos de reputación Proveedor de Microsoft
    2024-10-21T18:42:47.95+00:00

    Hola Ariel Sartor,

    ¡Bienvenido(a) a Microsoft Q&A!

    Aquí hay algunas consideraciones y pasos que podrías seguir para solucionar el problema:

    Verifica el Espacio Libre: Después de ejecutar DBCC SHRINKDATABASE, verifica el espacio libre en la base de datos, menciono esto ya que a veces el tamaño en disco puede no reflejar el tamaño lógico de la base de datos.

    Revisa el Tipo de Recuperación: Si tu base de datos está en modo de recuperación completa, el tamaño puede aumentar debido a los registros de transacciones. Considera cambiar a un modo de recuperación simple si no necesitas la capacidad de restaurar a un punto específico en el tiempo.

    Ejecuta DBCC SHRINKFILE: En lugar de DBCC SHRINKDATABASE, intenta usar DBCC SHRINKFILE en el archivo de datos específico. Esto puede ser más efectivo para reducir el tamaño de un archivo en particular.

    DBCC SHRINKFILE (nombre_del_archivo, tamaño_deseado_en_MB);
    

    Reorganiza y Reconstruye Índices: Asegúrate de que los índices estén bien organizados. A veces, la fragmentación puede causar un aumento en el tamaño de la base de datos. Puedes el siguiente codigo:

    ALTER INDEX ALL ON nombre_de_la_tabla REBUILD;
    
    

    Adicionalmente, si el backup ocupa solo 150 KB, eso indica que los datos eliminados no están ocupando espacio en el backup. Podrías considerar restaurar la base de datos desde el backup y luego aplicar los cambios necesarios.

    Espero que estos consejos ayuden a resolver el problema. Si necesitas más asistencia, estoy a tu disposición.

    Atentamente,

    Gao


    Si esta respuesta resolvió tu consulta, por favor haz clic en 'SÍ'. Esto nos ayuda a mejorar continuamente la calidad y relevancia de nuestras soluciones.

    2 personas han encontrado útil esta respuesta.

1 respuesta adicional

Ordenar por: Muy útil
  1. PCID 0 Puntos de reputación
    2024-11-07T17:30:57.9333333+00:00

    Te sugiero generar un script de la base de datos (estructura y datos), elimina la base de datos que existe y creala de nuevo con el script que te habías generado.

    IMPORTANTE

    Del script que generaste debes quitar la parte de creación de la base de datos para que las dimensiones de los archivos no sean arrastradas con ese script.

    Saludos,

    PCID.

    0 comentarios No hay comentarios

Su respuesta

Las respuestas se pueden marcar como respuestas aceptadas por el autor de la pregunta, lo que ayuda a los usuarios a conocer la respuesta que resolvió el problema del autor.