none
Mantenimiento Correcto de Base de Datos _log RRS feed

  • Pregunta

  • Buen dia:

    Poseo una Base de datos de una aplicacion de Nomina que pesa 9,8GB, pero la base de datos de _log pesa 94GB

    Quisiera que un experto me orientara en como o que procedimiento puedo hacer para un mantenimiento correcto a esta base de datos con el fin de reducir su peso, ya que requiero liberar un poco de espacio en la particion donde reside esta data

    La version es SQL Server Standar 2014

    Agradezco mucho su valiosa colaboración y pronta respuesta. Saludos...

    "El espiritu de lucha es lo que nos impulsa cada día a emprender nuevos retos..." Alexsc007 Bogotá - Colombia

    jueves, 25 de julio de 2019 14:05

Todas las respuestas

  • Hola Alexsc007, 

    Mire realmente a una base de datos no hay mucha manera de realizar mantenimiento; lo único que usted podría realizar para reducir su tamaño o evitar información duplicada seria comenzar a realizar querys y joins de las claves publicas en una clave privada para los datos duplicados, pero para detectar los datos duplicados y que las características de los objetos se mantuvieran unificadas en un solo objeto usted tendría que realizar operaciones complejas para poder realizar todo el "casteo de la información"

    Por el lado de Microsoft, los productos SQL Server cuentan con un asistente de mantenimiento.

    Le dejo el siguiente articulo que describe la herramienta y lo que puede o podría usted realizar ya con las herramientas que el producto cuenta para usted, aunque si debo indicarle que no reduciría el tamaño de las bases de datos.

    https://docs.microsoft.com/es-es/sql/relational-databases/maintenance-plans/use-the-maintenance-plan-wizard?view=sql-server-2017

    Ahora respecto al procedimiento que le comento, es SOLO una recomendación personal que yo he realizado con BDD más pequeñas.

    https://stackoverflow.com/questions/27607516/sql-join-with-composite-primary-key

    Considere que su data puede ser corrupta si no conoce lo suficiente del lenguaje SQL para realizar las operaciones de conjuntos necesarias para dicho fin.

    Gracias por usar los foros de MSDN.
    Erick Rivera
     ____
    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde.
    Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft. 
    Este contenido es proporcionado "tal cual" y no implica ninguna responsabilidad de parte de Microsoft.
    jueves, 25 de julio de 2019 14:38
  • Hola Alexc007:

    Después de realizar un backup completo o un backup del log, puedes acometer un plan de mantenimiento que entre otras cosas, se encargue de reducir el log de transacciones.

    Planes de mantenimiento

    https://javifer2.wordpress.com/2018/09/22/planes-de-mantenimiento-usar-asistente-reducir-base-de-datos/

    También lo puedes realizar con el agente o de un modo manual.

    https://javifer2.wordpress.com/2018/09/22/reducir-archivo-log-transacciones-mediante-job-agente-sql/

    jueves, 25 de julio de 2019 18:25

  • Poseo una Base de datos de una aplicacion de Nomina que pesa 9,8GB, pero la base de datos de _log pesa 94GB

    Normalmente cuando esto sucede, se debe a que la base de datos está configurada en modo de recuperación "FULL", pero no estás haciendo backups del Log.

    CUando está en modo Full, todas las transacciones se van agregando al Log, y el Log va creciendo sin límite. Se supone que cuando está en este modo es porque vas a hacer backups del Log. En el momento de hacer el "backup log", el espacio del log se libera y en lo sucesivo se reutiliza, evitándose que crezca sin límite.

    Si no vas a hacer "backup log", entonces cambia la base de datos al modo de recuperación SIMPLE. En este modo, el Log se trunca en cada Checkpoint, por lo que no crece apenas (salvo que realmente ejecutes alguna transacción gigantesca que lo haga crecer de manera excepcional).

    Después de cambiar a modo simple (desde las Propiedades de la base de datos en SSMS) puedes usar la opción "Shrink Files" (también desde SSMS) para reducirlo a un tamaño más pequeño.

    jueves, 25 de julio de 2019 18:54
  • si está en modo Full, todas las transacciones se van agregando al Log, es lo más seguro para recuperación de un desastre en la BBDD, no? Aunque por el tamaño que crece sin límite (hasta que haga backup) es lo menos conveniente supongo.
    viernes, 2 de agosto de 2019 16:22
  • Aunque por el tamaño que crece sin límite (hasta que haga backup) es lo menos conveniente supongo.
    Bueno, en realidad en la práctica la copia del Log se automatiza para que se haga con mucha frecuencia. Por ejemplo, cada 15 o 20 minutos. Si se hace esto, el Log no llega a crecer mucho.
    viernes, 2 de agosto de 2019 16:40