Procedimiento Seguro Para Reducir Tamaño de Archivo LDF de SQL Server

Alexander Sierra Canchila 0 Puntos de reputación
2023-12-26T19:48:03.2033333+00:00

Buen día Comunidad de Expertos:

Poseo una base de datos en SQL Server Estandar 2017 que corresponde a nuestro software ERP. Esta base de datos por alguna extraña razón, en 4 años que lleva operando ha tenido un crecimiento muy exagerado, pues al día de hoy el archivo LDF tiene un tamaño de 1.797.358.787 KB (1.68 TB)!!!

La partición en donde se encuentra alojado este archivo es de 1.8 TB, por lo que el espacio disponible se esta acabando y necesito hacer algo para tratar de reducir el tamaño de este archivo. He visto varios videos y tutoriales acerca de como reducir el tamaño, pero me gustaría mucho si algún experto DBA me pudiera ayudar con las instrucciones de algún procedimiento que sea completamente seguro y confiable para llevar a cabo dicha reducción, ya que como entenderán se trata de la BD de nuestro sistema ERP, y adicionalmente yo tengo conocimiento muy superficial sobre SQL Server

Les agradezco mucho el acompañamiento que me puedan brindar para este proceso tan delicado. Cualquier información adicional que requieran para el caso con gusto la suministrare. Saludos.....

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.
84 preguntas
0 comentarios No hay comentarios
{count} votos

2 respuestas

Ordenar por: Lo más útil
  1. javi Fernandez 185 Puntos de reputación
    2023-12-27T15:31:20.87+00:00

    En realidad en 4 años, no parece un comportamiento extraño, porque si no has realizado tareas de mantenimiento, parece muy normal. Por lo que comentas tienes poca idea y eso que solicitas es peligroso, cuando realmente, si haces "los deberes", el sistema solo irá vaciando ese log. Lo que tienes que hacer, es realizar backups del transaction log.

    Observa el script anexado, y verás que lo que hace es un backup del Log.

    Ejemplo con la base de datos adventureWorks2019

    https://learn.microsoft.com/es-es/sql/relational-databases/backup-restore/back-up-a-transaction-log-sql-server?view=sql-server-ver16

    BACKUP LOG [AdventureWorks2019] 
    	TO  DISK = N'D:\BACKUP\AdventureWorks2019.bak' 
    	WITH FORMAT, 
    	INIT,  
    	NAME = N'AdventureWorks2019-Completa Base de datos Copia de seguridad', 
    	SKIP, 
    	NOREWIND, 
    	NOUNLOAD,  
    	STATS = 10
    
    

  2. javi Fernandez 185 Puntos de reputación
    2023-12-27T15:35:13.3066667+00:00

    Otra opción, siempre y cuando no uses el modelo de recuperación completo, o simplemente ignoras el porque tener un modelo de recuperación completo, es usar el modelo de recuperación simple. Al cambiar el mismo, entonces verás como automáticamente tú transactión log se reduce y/o puedes reducirlo a la mínima expresión.

    USE [master]

    GO

    ALTER DATABASE [AdventureWorks2019] SET RECOVERY SIMPLE WITH NO_WAIT

    GO

    https://learn.microsoft.com/es-es/sql/relational-databases/backup-restore/recovery-models-sql-server?view=sql-server-ver16