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

Política de Respaldo

Estas en el tema de Política de Respaldo en el foro de SQL Server en Foros del Web. Más que una ayuda técnica, quería una ayuda en cuanto a políticas de respaldo. Tengo la siguiente situación: Existe un sistema en una Municipalidad X, ...
  #1 (permalink)  
Antiguo 12/07/2006, 13:08
 
Fecha de Ingreso: enero-2004
Mensajes: 77
Antigüedad: 20 años, 3 meses
Puntos: 0
Política de Respaldo

Más que una ayuda técnica, quería una ayuda en cuanto a políticas de respaldo. Tengo la siguiente situación:

Existe un sistema en una Municipalidad X, específicamente en el departamento de Licencias de Conducir. Cada día ahi asiste gran cantidad de personas a sacar, renovar, o controlar sus licencias de conducir.

Cada persona al sacar licencia de conducir, se toma una fotografía digital, y además se le escanea la huella digital.

El programador, imbécilmente(Según yo) se le ocurrió almacenar fotografías de los usuarios EN LA BASE DE DATOS COMO CAMPO IMAGE, por el sistema que se creó. Digo imbécilmente, porque ahora la base con datos puede ser liviana, pero al sumarle las fotografias que cada día se toman los usuarios, llegó a pesar 11 GB, con dificultad para hacer respaldos.

Llegó el día que tenía que llegar, el Servidor tuvo problemas y al reiniciarlo la BD quedó corrupta y no se pudo abrir ni reparar jamás. Eso si había un respaldo de toda la BD en archivos txt, que si bien, hay un programa que hace el respaldo rápidamente, al subir la bd, tabla por tabla es realmente una pérdida de tiempo enorme, comparado con subir un backup.

Mi idea, es separar la fotografía de la BD, y almacenarla en una carpeta del Servidor, luego lo que la BD guardará no será la fotografía, sino que el path de donde fue guardada la foto. Pues si la BD, algún día se cae, o le sucede algo, mi respaldo no pesará 11 GB, y podré montarla nuevamente, cosa que ahora puede tardarme horas. Por lo demás a los funcionarios de la Municipalidad les interesa de primera prioridad la información, y la fotografía siempre se puede volver a tomar, o recuperar, así que no es necesario guardarla directamente en la BD.

Ahora mi consulta es:

Si quisiera hacer respaldos diarios, ¿Cuál es la mejor manera?, respaldar la BD completa, respaldarla diferencialmente.

¿Si respaldo diferencialmente?, que pasa si la BD se me cae?, si cargo la diferencial me cargará supuestamente la información entre el penultimo respaldo y cuando se cayó o no?.

Se agradecen consejos sobre el tema, ya que es muy importante, yo creo que para todos.
  #2 (permalink)  
Antiguo 12/07/2006, 15:23
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años
Puntos: 25
Creo que tu problema es el como hacer los respaldos, no que la DB tenga 11GB (tamaño decente para una DB).

Revisa la opción de FileGroups dentro de SQL Server, eso permite que respaldes a nivel de filegroups y separes los datos en uno y las fotos en otro, eso te permite hacer el de los datos frecuentemente. Y todo dentro de la misma DB, eso si, tendrías que tener la foto como una tabla separada y unida a la otra tabla mediante un FK.

Anuque si me preguntas tu preocupación debería ser conseguir un buen sistema de respaldo y políticas de respaldo incrementales (por ejemplo full el fin de semana e incrementales diarios)
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
  #3 (permalink)  
Antiguo 12/07/2006, 15:27
 
Fecha de Ingreso: enero-2004
Mensajes: 77
Antigüedad: 20 años, 3 meses
Puntos: 0
¿Decente 11 GB?, y qué pasara cuando yo quiera hacer respaldos diarios de la base completa??, serán 11 GB cada vez que respalde, y en menos de un mes tendré el servidor colapsado.

A eso voy, ¿Qué es lo usual?, lo otro, si respaldo en forma diferencial, se respalda solo los datos y no la estructura??, o se respalda desde el ultimo respaldo que se hizo a la fecha?.

O sea todo se puede hacer, pero ...¿Què es lo mas correcto?
  #4 (permalink)  
Antiguo 12/07/2006, 18:10
Avatar de Carcharhinus  
Fecha de Ingreso: septiembre-2004
Mensajes: 264
Antigüedad: 19 años, 7 meses
Puntos: 0
Hola... yo tengo algunas bases de datos que pesan mas de 11G y que respaldo diariamente mediante un plan de respaldos, claro estos respaldos los paso a un disco dure externo, ahora que lo tengo, pero antes se quedaban los respaldos en el mismo servidor, cosa que no deberia ser porque se tu servidor "muere" pierdes toodo!!
Bueno, yo realizo los respaldos diariamente de manera completa y lo que hacia antes de obtener el disco externo era, comprimir el ultimo mes de respaldos y dejar unicamente el último respaldo y el de un dia anterior, asi, en caso de incidente tenia el respaldo mas reciente. Comprimiendo todos los respaldos, supongamos que sean 80G, al momento de ser comprimidos o compresos (no se como se diga jeje) solo te quedara un archivo de por lo menos 2G, que es bastante ganacia y tenras todos los respaldos.
La forma mas correcta de realizar los respaldos es la que este de a cuerdo a las posibilidades de cada uno, te podremos decir un sinfin de formas de realizar respaldos, pero unicamente tu sabras cual es la correcta ya que eres el unico que conoce el area donde laboras jejeje...epero te ayude en algo... Saludoss!!!!
__________________
"Never attribute to malice that which can be adequately explained by stupidity."
  #5 (permalink)  
Antiguo 12/07/2006, 18:51
 
Fecha de Ingreso: enero-2004
Mensajes: 77
Antigüedad: 20 años, 3 meses
Puntos: 0
Hola, sucede que yo ni siquiera laburo ahí. Mi puesto de trabajo está en otra comuna, y el Servidor está solito allá, y lo manipulamos, solo nosotros.

Mi idea claro, sería hacer respaldos diarios también, y ojalá en otro disco duro anexo del servidor. Desconozco si se puede hacer un respaldo remoto, o sea que el SQL me lance el backup en otro pc que no sea el servidor pero en forma automática, no que yo esté copiando archivos cada día.

Si se pudiera hacer eso, sería genial.


Y bueno entiendo entocnes que lo mejor es un respaldo de la base de datos completa.

Aun me queda la duda si la diferencial es : el respaldo de la base de datos dsede el ultimo respaldo hasta la fecha actual o sea si respalde un día lunes, y luego uiero respaldar el jueves, entonces el jueves solo se respaldará lo que hice el martes, miercoles y jueves. ¿Se entiende?.

¿O un respaldo diferencial quiere decir que solo respaldo los datos y no la estructura?.
  #6 (permalink)  
Antiguo 13/07/2006, 13:44
Avatar de Carcharhinus  
Fecha de Ingreso: septiembre-2004
Mensajes: 264
Antigüedad: 19 años, 7 meses
Puntos: 0
Hola... los respaldos de SQL los realiza localmente, tendrias que utilizqar algun método para pasarlos a un servidor(maquina) de respaldos. El repaldo diferencial, incremental, etc. solo te respaldan los datos y no la estructura (espero no estar mintiendo jeje), respecto a la programación de respaldos la puedes hacer con un plan de mantenimiento de SQL...Saludos
__________________
"Never attribute to malice that which can be adequately explained by stupidity."
  #7 (permalink)  
Antiguo 14/07/2006, 14:33
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años
Puntos: 25
El respaldo diferencial cuenta a partir del ultimo respaldo completo. El respaldo incremental cuenta a partir del ultimo respaldo completo, diferencial o incremental.

Es decir, su tu DB crece 10MB por día y mide 100MB con respaldos incrementales respaldarás 10MB cada vez, mientras que con respaldos diferenciales irán incrementando a 10MB, 20, 30, ... hasta que hagas el siguiente respaldo completo y se repite el proceso.

Para el incremental requieres el respaldo completo mas todos los respaldos incrementales. Para el diferencial requieres el respaldo completo y únicamente el ultimo respaldo diferencial.

Pufff, con dibujitos es más sencillo de explicar, espero me entiendas.

Mi consejo en términos generales es: full el fin de semana e incrementales diarios.
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
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 19:39.