Saltar al contenido

El archivo Sql Server LDF ocupa demasiado espacio

Fernanda, parte de este equipo, nos ha hecho el favor de redactar esta crónica porque controla muy bien este tema.

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 DML única
  • O por otras razones, como lo señala @sepupic en otra respuesta

2.¿Cómo puedo liberar el espacio?

  • SI la recuperación no es SIMPLE:

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

    • Simplemente redúzcalo 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 objetivo, entonces la razón exacta para verificar, utilizando un fragmento de código de @sepupic


Algunos miembros todavía dan consejos para eliminar físicamente los archivos LDF.

Recomiendo encarecidamente no hacer esto. Notable publicación relacionada de Aaron Bertrand:

Algunas cosas que no quieres hacer:

Separe la base de datos, elimine el archivo de registro y vuelva a adjuntarla. No puedo enfatizar lo peligroso que esto puede ser. Es posible que su base de datos no vuelva a funcionar, que aparezca como sospechosa, que tenga que volver a una copia de seguridad (si tiene una), etc., etc.

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

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

Puede encontrar la razón exacta usando 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 bajo log_reuse_wait: sys.bases de datos (Transact-SQL)

¿Cómo puedo liberar el espacio?

Primero debe determinar la causa utilizando la consulta anterior, luego debe solucionarlo, por ejemplo, si está roto replication deberías quitarlo 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 también he puesto Autogrowh/Maxsize en las propiedades de la base de datos para 1000 como Limited (Ver la imagen de abajo).

<code>
<div class=

Database Propertis => Files en SSMS” src=”https://i.stack.imgur.com/4hc7X.png” />

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

Si te ha resultado de provecho nuestro post, sería de mucha ayuda si lo compartieras con el resto entusiastas de la programación y nos ayudes a extender esta información.

¡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 *