Saltar al contenido

El archivo LDF del servidor SQL ocupa demasiado espacio

Solución:

1. ¿Por qué el archivo de registro ocupa tanto espacio (30 GB)?

  • O debido a que su recuperación no es SIMPLE y ldf creció eventualmente a tal tamaño
  • O porque hubo una gran operación de DML única
  • O por otras razones, como señaló @sepupic en otra respuesta

2.¿Cómo puedo liberar espacio?

  • SI la recuperación es diferente a SIMPLE:

    • En primer lugar, copia de seguridad del archivo de registro de transacciones
    • Realice un encogimiento, como DBCC SHRINKFILE(2,256)
  • SI la recuperación es SIMPLE:

    • Simplemente encogerlo al tamaño deseado, como DBCC SHRINKFILE(2,256)

Si el registro de la base de datos aún no se redujo a un tamaño de destino, entonces la razón exacta para ser verificada, usando un fragmento de código de @sepupic


Algunos miembros siguen dando consejos para eliminar físicamente los archivos LDF.

Recomiendo encarecidamente no hacer esto. Mensaje relacionado notable de Aaron Bertrand:

Algunas cosas que no quieres hacer:

Separe la base de datos, elimine el archivo de registro y vuelva a adjuntar. No puedo enfatizar lo peligroso que puede ser esto. Es posible que su base de datos no se recupere, puede aparecer como sospechosa, es posible que deba volver a una copia de seguridad (si tiene una), etc., etc.

¿Por qué el archivo de registro de mi base de datos ocupa demasiado espacio?

Puede haber más causas, no solo las 2 mencionadas en otra respuesta.

Puede encontrar el motivo exacto utilizando esta consulta:

select log_reuse_wait_desc
from sys.databases
where name="myDB";

Aquí hay un enlace al artículo de BOL que describe todas las posibles causas en log_reuse_wait: sys.databases (Transact-SQL)

¿Cómo puedo liberar espacio?

Primero debe determinar la causa utilizando la consulta anterior, luego debe solucionarlo, por ejemplo, si está roto replication deberías eliminarlo o arreglarlo.

1. Why is the log file taking this much space (30gb)?

Fue porque el Autogrowth / Maxsize se estableció 200,000 MB

2. how can I free up the space?

Como se describe aquí, utilicé el siguiente comando y el archivo ahora es menor que 200mb

ALTER DATABASE myDatabaseName
SET RECOVERY SIMPLE
GO
DBCC SHRINKFILE (myDatabaseName_log, 1)
GO
ALTER DATABASE myDatabaseName_log
SET RECOVERY FULL

Yo tambien he puesto Autogrowh/Maxsize en las propiedades de la base de datos para 1000 como Limited (Vea la imagen a continuación).

<code data-lazy-src=

Database Propertis => Files en SSMS”>

El enlace describe más, por lo que recomiendo consultarlo para obtener una descripción detallada y otras opciones.
Gracias @hadi por el enlace.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *