SQL Server Performance

Reducir tamaño de bases

Discussion in 'Preguntas sobre SQL Server en Español.' started by Ger, Dec 14, 2006.

  1. Ger New Member

    Tengo una base de datos de 5.2 gb y estoy necesitando limpiarla.
    Lo que me gustaría hacer es borrar o dejar un back up de los registros viejos (anteriores a una determinada fecha).
    Esto se puede hacer????
    si no, qué podríamos hacer???

    desde ya, muchas gracias
  2. Luis Martin Moderator

    Todo depende de la estructura de la base de datos y sus relaciones entre tablas.

    Por ejemplo, si es una base con un aplicativo de gestión comercial con ventas, compras, etc., las tablas están relacionadas entre si y, por consistencia, no se pueden borrar registros arbitrariamente.

    Lo aconcejable es hablar con la gente que proveyó el programa, para ver cómo se puede hacer un corte a cierta fecha.

    De todas formas, 5.2GB no parece ser una base de datos muy grande.

    Saludos,





    Luis Martin
    Moderator
    SQL-Server-Performance.com

    All in Love is Fair
    Stevie Wonder


    All postings are provided “AS IS” with no warranties for accuracy.



  3. Ger New Member

    Gracias Luis...<br /><br />yo sé que 5.2Gb no es muy grande... el problema es que es un programa de estudio de mercado y la base crece a un promedio de entre 40 y 50 megas por día.<br />No nos preocupa el tamaño actual, si no el potencial.<br /><br />Entonces, la solución sería borrar los registros hasta una cierta fecha, teniendo cuidado con las relaciones entre tablas, y ahí se reduciría el tamaño, verdad?<br /><br />ahora, en SQL Server 2000, hay algo que haga esto automáticamente??????????<br /><br />otra... <img src='/community/emoticons/emotion-3.gif' alt=':eek:' />)<br />si en vez de borrar quiero hacer back up y borrar, lo tengo que hacer manual???<br /><br />bueno, creo que eso era todo.<br />Muchas gracias de nuevo!!!
  4. Luis Martin Moderator

    No hay ninguna forma automática por SQL de borrar registros en cadena.

    La forma manual es la única que tienes (previo backup, por supuesto).

    De todas formas y especialmente con un programa de estudio de mercado, los desarrolladores tendrían que haber previsto algún procedimiento para realizar la reducción de la base sin perder consistencia, siendo éste el principal problema.

    Cuántas tablas tiene el sistema?



    Luis Martin
    Moderator
    SQL-Server-Performance.com

    All in Love is Fair
    Stevie Wonder


    All postings are provided “AS IS” with no warranties for accuracy.



  5. Ger New Member

    el sistema tiene entre 10 y 15 tablas, no sé exactamente...
    el problema es que no hay que borrar de todas las tablas. Sólo habría que "purgar" las tablas que están haciendo este crecimiento.

    pero después de lo que nos comentáste lo vamos a hacer manual, además porque nos daría un poco de pudor que sea automático ya que no lo podemos controlar.

    Bueno, agradezco muchísimo la ayuda!!

  6. MACervilla New Member

    previo backup, en el analizador de consulta, ejecuta

    DBCC SHRINKDATABASE (NombreBaseDatos, 10,TRUNCATEONLY)
    GO
    --REDUCE LA BASE DE DATOS MDF

    Suerte!!
  7. Luis Martin Moderator

    quote:Originally posted by MACervilla

    previo backup, en el analizador de consulta, ejecuta

    DBCC SHRINKDATABASE (NombreBaseDatos, 10,TRUNCATEONLY)
    GO
    --REDUCE LA BASE DE DATOS MDF

    Suerte!!

    Esto está bien para reducir el tamaño de la base, pero lo él quiere es reducir la cantidad de registros almacenados.


    Luis Martin
    Moderator
    SQL-Server-Performance.com

    All in Love is Fair
    Stevie Wonder


    All postings are provided “AS IS” with no warranties for accuracy.



Share This Page