SQL Server Performance

Backup de BD

Discussion in 'Preguntas sobre SQL Server en Español.' started by acuario21, Jan 3, 2005.

  1. acuario21 New Member

    Hola a todos ...!!!
    FELIZ AÑO NUEVO PARA TODOS !!!! que les vaya bien en este año que comienza .!!!

    Tengo una gran gran incognita que no se como abordarla.

    Resulta que en la BD que estoy construyendo, tengo dos tablas que crecen descomunalmente rapido... Los datos que capturo son datos de produccion, y los capturo en linea. Muchos de ellos se capturan al segundo. Los datos una vez que se capturan en la BD no requieren ser actualizado o modificado, pasan a ser datos historicos inmediatamente. Debido al tamaño de estas dos tablas es que he utilizado particionamiento horizontal de las tablas como lo recomienda la literatura, para lograr mas eficiencia en las consultas. El criterio para la division de las tablas es por mes, es decir los datos de un mes se capturan en un tabla, luego de lo cual comienza a capturarse en la siguinete tabla.
    Ademas he creado 12 grupo de archivo, uno para cada tabla, para lograr que los respaldo de estas sea mas eficiente...

    Aqui biene la pregunta...!!

    Como puedo hacer para respaldar un mes de la BD, digamos los datos mas antiguos para cuando tenga que nuevamente capturar los datos de ese mes, luego que termine de dar la vuelta ???

    saludos
  2. c_maldon Member

    Te hago algunas preguntas
    Desde el punto de vista de los usuarios de tus datos (desarrolladores o usuarios finales) , ellos ven
    las particiones como si estuviesen todos los datos en una sola tabla o deben conocer el nombre de la tabla que corresponde al mes a consultar?
    ¿Utilizaste SQL 2000 para definir la partición (vistas divididas)?
    A que te referís exactamente con “Respaldar un mes de la DB”, a como hacer un backup de la partición o a que hacer con los datos que tiene la tabla de febrero, cuando llegue nuevamente febrero.
    Una pregunta más, cuando des toda la vuelta los datos del año anterior quedarían disponibles a los usuarios para seguir consultándolos o se resguardan y se sacan de la base de datos?



  3. acuario21 New Member

    Buenas..preguntas...!!!
    1) Los usuarios deben ver la tablas como una sola...internamente se manejan las consultas...tengo implementado un vista que muestra todos los datos

    2)En estos momentos estoy usando Sql Server 7.0, pero pretendo implementarlo con el 2000.

    3) Los datos del año anterior deben guardarse, y vaciar la tabla para los nuevos datos...
    (esta parte es la que mas me interesa..como lo hago para respaldarla )

    4) Me refiero a un mes de datos a como hacer un backup de una particion en particular en el fondo como puedo hacer para respaldar un tabla. Se que en versiones anteriores esto era posible, pero apartir de la version 7.0 se elimino, pero se puede hacer respaldo de grupo de archivos...


    saludos ...
  4. c_maldon Member

    Entiendo que tus problemas se reducen a realizar backup de los grupos de archivos.

    Lo primero que tenes que ver es que el parametro de base de datos "trunc. log on chkpt." esté DISABLED.
    Esto te habilita en el Enterprise Manager a backup de archivos de grupo.

    Mis Saludos.
  5. acuario21 New Member

    Gracias...c_maldon
    Efectivamente funciono...Puedo realizar respaldo de grupo de archivos..!!!!
    Mi idea era que cuando fuera necesario revisar un mes en particular de los datos historicos, esta fuera posible hacer de los respaldo de los grupos de archivos y no tener que cargar la BD datos completa..!!

    Cuando intento restaurar apartir de un grupo de archivo a una nueva BD me marca el siguiente error...

    "The tail of the log for database "restore" has not been backed up. Back up the log and rerun the RESTORE stamement specifying the FILE clause"

    saludos !!!


    PD: que paso con la respuesta que publico ayer el moderador del foro que ahora no aparece ????
  6. c_maldon Member

    Te recomiendo que pruebes todo el circuito,
    lo que veo es que si vos tenes filegroups
    ENE
    FEB
    MAR
    ...
    DIC

    Luesgo haces backup de ENE, truncas la tabla y la empesás a llenar
    denuevo. Si necesitas los datos del año anterio no vas a poder levantar el file de ENE viejo porque va a estar utilizádose con nuevos datos.
    o la idea es levantarlo en otro servidor?

    Creo que el moderador está de vacaciones.

    Podrías describir la secuencia de pasos que realizaste al hacer el backup y el restore
  7. Luis Martin Moderator

    Tiene razón Acuario, no tengo idea de dónde fue a parar la respuesta que escribí ayer. También es cierto que estuve 4 días de vacaciones.



    Luis Martin
    Moderator
    SQL-Server-Performance.com

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

  8. acuario21 New Member

    Me imagino que bien merecidas las vacaciones !!

    Pero bueno...por lo menos alcance a leer antes que desapareciera !!!. He hice lo que me recomendaste..Primero cree una copia de la BD de datos sobre la que estoy trabajando ...pero esta BD esta vacia ..es un respaldo que tengo pero de la base de datos, solo las tablas que que tienen datos que no cambian nunca tienen datos, sobre las tablas que almacenan los datos de procesos estan completamente vacias. Y en esa BD datos nueva exporte de la BD donde actualmente capturo una particion. Funciono como yo lo esperaba. Solo esa particion se cargo en la BD (en este caso un mes en particular).

    Mi idea es ir respaldando el mes o particion mas antigua..y mantener los ultimos 12 meses mas antiguos en la BD.

    c_maldon:
    lo que hago para para recuperar un BD desde un filegroup es que cuando intento recuperar la BD en una nueva BD me dice que tal BD no existe. por lo que creo una copia vacia de la BD original pero vacia en las tablas de los datos de de procesos (tablas particionada) luego sobre esa nueva BD intento realizar la recuperacion del filegroup para el cual habia realizado el respaldo, pero me marca el error que mencione anteriormente.

    saludos a ambos
  9. c_maldon Member

    Pordrías decirme en que estado estaba la base de datos antes de que ejecutaras el comando que te dío el error siguiente:

    "The tail of the log for database "restore" has not been backed up. Back up the log and rerun the RESTORE stamement specifying the FILE clause"

    consultalo en la columna status del procedimiento
    sp_helpdb 'dbname'

    Gracias
  10. acuario21 New Member


    A cual BD datos re refieres !!!
    a la que tiene los datos o la que he creado vacia ??


    saludos
  11. c_maldon Member

    A la que has creado vacía.
    La original seguro tiene estado "ONLINE".

    El restore lo estas haciendo sobre una nueva base de datos sobre la cual vas a recuperar un solo group file.

    En un determinado momento, sobre la nueva base de datos aplicas un RESTORE y te da el error de "The tail..",
    ¿que estado tiene la base de datos entes de que te de el error?

Share This Page