Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Evitar que el Archivo LOG (.ldf) crezca demasiado

Estas en el tema de Evitar que el Archivo LOG (.ldf) crezca demasiado en el foro de SQL Server en Foros del Web. Saludos a todos ciber-maestros! Tengo una consulta, ¿hay manera de evitar que los LOGs de mis BD crezcan demasiado? Por ejemplo, tengo una de mis ...
  #1 (permalink)  
Antiguo 24/11/2009, 16:11
Avatar de LUISESPOCH  
Fecha de Ingreso: octubre-2006
Mensajes: 194
Antigüedad: 17 años, 6 meses
Puntos: 0
Evitar que el Archivo LOG (.ldf) crezca demasiado

Saludos a todos ciber-maestros!

Tengo una consulta, ¿hay manera de evitar que los LOGs de mis BD crezcan demasiado?
Por ejemplo, tengo una de mis BD con un tamaño real de la data de 50 MB, pero el archvio LDF respectivo pesa 600MB, porque ocurre esto y cómo evitarlo?

Gracias por esos ciber-sugerencias

LE
  #2 (permalink)  
Antiguo 24/11/2009, 16:16
Avatar de LUISESPOCH  
Fecha de Ingreso: octubre-2006
Mensajes: 194
Antigüedad: 17 años, 6 meses
Puntos: 0
Respuesta: Evitar que el Archivo LOG (.ldf) crezca demasiado

Por cierto, mi SQLServer es 2005 version estándar.

Gracias a todos por la ayuda.

LE
  #3 (permalink)  
Antiguo 24/11/2009, 16:53
Avatar de royrojas  
Fecha de Ingreso: diciembre-2004
Mensajes: 458
Antigüedad: 19 años, 4 meses
Puntos: 3
Respuesta: Evitar que el Archivo LOG (.ldf) crezca demasiado

para evitar esto hay que darle mantenimiento a la base de datos, tener una buena cultura de backups, esto libera automaticamente los logs.

ya si la quieres liberar de un solo y reducirle el tamaño al log sin perder nada, te recomiento este articulo, ahi esta paso a paso lo que debes hacer

http://www.dotnetcr.com/recurso.aspx...atos-y-del-log

espero te sirva
__________________
roy rojas
Programación en Español: DotNetcr.com
  #4 (permalink)  
Antiguo 24/11/2009, 17:13
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: Evitar que el Archivo LOG (.ldf) crezca demasiado

Y si aun, quieres QUE NO SE GUARDEN LAS TRANSACCIONES EN EL LOG, cambias el tipo de recuperacion de tu base, de FULL, a SIMPLE.
  #5 (permalink)  
Antiguo 25/11/2009, 08:59
Avatar de LUISESPOCH  
Fecha de Ingreso: octubre-2006
Mensajes: 194
Antigüedad: 17 años, 6 meses
Puntos: 0
Respuesta: Evitar que el Archivo LOG (.ldf) crezca demasiado

Roy, IIslas:

En la empresa yo soy el encargado de hacer los backups de las BD con el siguiente codigo...
--Ejemplo con la BD de Catalogos
set @nombre =
'BACKUP DATABASE BD_Catalogo
TO DISK = N' + char(39) + '\\serverXYZ\RespaldosBD\BD_Catalogo_Resp' + char(39)
+ ' WITH INIT , NOUNLOAD , NAME = N' + char(39) + 'BD_Catalogo backup' + char(39) + ', NOSKIP
, STATS = 10, NOFORMAT'
exec(@nombre)

Acaso me falta algún atributo que esté omitiendo en este Query que impida que el LOG se dispare?

Gracias maestros.
  #6 (permalink)  
Antiguo 25/11/2009, 11:23
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: Evitar que el Archivo LOG (.ldf) crezca demasiado

Veamos, es un GRAVE ERROR (ya lo hemos comentado), que se hagan respaldos DIRECTAMENTE en discos de red.

Deben hacerse de FORMA LOCAL y de ahi, con un simple COPY, mandarlos a otro dispositivo

¿PORQUE?, Simplemente que si hay alguna pequeña (por muy pequeña) interrupcion en la red (comunicacion), el respaldo, vuelve a iniciar a escribir.

Una cosa es "sacar los datos" de la base (backup) y colocarlos en un resguardo y la otra es LIMPIAR EL LOG.

Te hace falta un:

BACKUP LOG tubase WITH TRUNCATE_ONLY

Despues, claro, de terminar tu backup normal

ADEMDUM: Lee un poco sobre SHRINKDB o SHRINKFILE, que te liberan el espacio NO ocupado por la base hacia el sistema operativo.
  #7 (permalink)  
Antiguo 25/11/2009, 11:40
 
Fecha de Ingreso: febrero-2009
Mensajes: 312
Antigüedad: 15 años, 2 meses
Puntos: 4
Respuesta: Evitar que el Archivo LOG (.ldf) crezca demasiado

Cita:
Iniciado por iislas Ver Mensaje
Veamos, es un GRAVE ERROR (ya lo hemos comentado), que se hagan respaldos DIRECTAMENTE en discos de red.

Deben hacerse de FORMA LOCAL y de ahi, con un simple COPY, mandarlos a otro dispositivo

¿PORQUE?, Simplemente que si hay alguna pequeña (por muy pequeña) interrupcion en la red (comunicacion), el respaldo, vuelve a iniciar a escribir.

Una cosa es "sacar los datos" de la base (backup) y colocarlos en un resguardo y la otra es LIMPIAR EL LOG.

Te hace falta un:

BACKUP LOG tubase WITH TRUNCATE_ONLY

Despues, claro, de terminar tu backup normal

ADEMDUM: Lee un poco sobre SHRINKDB o SHRINKFILE, que te liberan el espacio NO ocupado por la base hacia el sistema operativo.


Hola, cuando se hace un FULL el espacio del archivo de log lo libera, por lo que es reutilizable, no es así?

El truncate_only en SQL 2008 ya no existe. Para recuperar el espacio de log a disco no utilizado: dbcc shrinkfile

Saludos
  #8 (permalink)  
Antiguo 25/11/2009, 11:50
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: Evitar que el Archivo LOG (.ldf) crezca demasiado

Cuando se hace un FULL el espacio del archivo de log lo libera, por lo que es reutilizable, no es así?
R = NO

En su segunda posta dice: Por cierto, mi SQLServer es 2005 version estándar
  #9 (permalink)  
Antiguo 26/11/2009, 13:00
 
Fecha de Ingreso: febrero-2009
Mensajes: 312
Antigüedad: 15 años, 2 meses
Puntos: 4
Respuesta: Evitar que el Archivo LOG (.ldf) crezca demasiado

Cita:
Iniciado por iislas Ver Mensaje
Cuando se hace un FULL el espacio del archivo de log lo libera, por lo que es reutilizable, no es así?
R = NO

En su segunda posta dice: Por cierto, mi SQLServer es 2005 version estándar
Cierto IISLAS es un SQL 2005. I´m sorry...

Saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:29.