Sobre respaldos y restauraciones de base de datos

22/04/2008 - 15:41 por Rony De Sousa | Informe spam
Hola amigos!

Les cuento, mi duda no acerca de como hacer los respaldos/restores sino de
cual es la manera más segura y/o eficiente de hacerlo.

Particularmente siempre he trabajado con Backup Database, ya sea en T-SQL o
desde el administrador corporativo (Clic contrario, copia de seguridad...) y,
en caso de necesitar restaurar pues siempre uso el Restore Database, igual,
desde T-SQL o desde el administrador corporativo..
Pero se que también existe la posibilidad de copiar los archivos mdf y ldf,
separar y adjuntar bases de datos a partir de estos archivos, pero, esta
segunda opción implica:

opción 1 = Separa mi base de datos y copio los mdf y ldf a otra ruta (para
respaldarlos) y despues la adjunto para seguir trabajando con ella
opción 2 = Detengo los servicios de SQL y copio los mdf y ldf a otra ruta
(para respaldarlos) y como en ningún momento separa mi base de datos pues no
hay necesidad de adjuntarla pero si de iniciar los servisios de SQL

Esto para la parte de respaldar, y para restaurar pues bastaría con adjuntar
los mdf y ldf que tengo respaldados en algún directorio..

Es segura esta forma de hacerlo? Me surge la duda porque en una ocasión
adjunte un base de datos a partir de los mdf y ldf que previamente había
respaldado de otra base de datos y luego al querer modificar cualquier
elemento de la base de datos me estaba dando problema, me daba un error al
intentar guardar los cambios que decía algo más o menos similar a esto:
"Error al guardar la tabla x, no se encontraron todos los objetos del
diagrama"

Claro, esto pienso yo que se puede deber a que el mdf estiviece dañado..

En fin y para no extenderme más, a mi particularmente me parece más
eficiente y seguro trabajar con backup database, crear mi .Bak y listo, si un
momento dado necesito restaurar un base de datos o crear una base de datos
nueva que sea una copia exacta de otra pues restore database y listo!
Pero también conozco algunos amigos que trabajan de la otra manera y a
quienes (no son del área de la computación) se les hace más "facil" trabajar
directamente con los archivos mdf y ldf

Ahora si para culminar :)
Si se quiere respaldar una base de datos, ¿Cual es la mejor manera de hacer?
¿En que momento debería trabajar directamente con los archivos mdf y ldf y
en que momento debería trabajar con un backup database?

De antemano muchas gracias por su tiempo.
Saludos!

Preguntas similare

Leer las respuestas

#1 Alejandro Mesa
22/04/2008 - 16:11 | Informe spam
Rony De Sousa,

1 - No hace falta parar el servicio para detachar una db.
2 - En caso de que hayan usuarios trabajando, primero deberas cerrar sus
conexiones y no todas las compañias aprueban tal metodo.
3 - Posiblemente se dejen de usar esos procedimientos en futuras versiones.
4 - Si usas el metodo de detachar y atachar, entonces no tendras la
facilidad de restaurar una db hasta un tiempo determinado en el pasado.
5 - Que tal si tu db es demasiado grande, has pensado hacer los respaldos
por grupo de archivos?

La manera adecuada es usar los comandos BAKUP y RESTORE.


AMB


"Rony De Sousa" wrote:

Hola amigos!

Les cuento, mi duda no acerca de como hacer los respaldos/restores sino de
cual es la manera más segura y/o eficiente de hacerlo.

Particularmente siempre he trabajado con Backup Database, ya sea en T-SQL o
desde el administrador corporativo (Clic contrario, copia de seguridad...) y,
en caso de necesitar restaurar pues siempre uso el Restore Database, igual,
desde T-SQL o desde el administrador corporativo..
Pero se que también existe la posibilidad de copiar los archivos mdf y ldf,
separar y adjuntar bases de datos a partir de estos archivos, pero, esta
segunda opción implica:

opción 1 = Separa mi base de datos y copio los mdf y ldf a otra ruta (para
respaldarlos) y despues la adjunto para seguir trabajando con ella
opción 2 = Detengo los servicios de SQL y copio los mdf y ldf a otra ruta
(para respaldarlos) y como en ningún momento separa mi base de datos pues no
hay necesidad de adjuntarla pero si de iniciar los servisios de SQL

Esto para la parte de respaldar, y para restaurar pues bastaría con adjuntar
los mdf y ldf que tengo respaldados en algún directorio..

Es segura esta forma de hacerlo? Me surge la duda porque en una ocasión
adjunte un base de datos a partir de los mdf y ldf que previamente había
respaldado de otra base de datos y luego al querer modificar cualquier
elemento de la base de datos me estaba dando problema, me daba un error al
intentar guardar los cambios que decía algo más o menos similar a esto:
"Error al guardar la tabla x, no se encontraron todos los objetos del
diagrama"

Claro, esto pienso yo que se puede deber a que el mdf estiviece dañado..

En fin y para no extenderme más, a mi particularmente me parece más
eficiente y seguro trabajar con backup database, crear mi .Bak y listo, si un
momento dado necesito restaurar un base de datos o crear una base de datos
nueva que sea una copia exacta de otra pues restore database y listo!
Pero también conozco algunos amigos que trabajan de la otra manera y a
quienes (no son del área de la computación) se les hace más "facil" trabajar
directamente con los archivos mdf y ldf

Ahora si para culminar :)
Si se quiere respaldar una base de datos, ¿Cual es la mejor manera de hacer?
¿En que momento debería trabajar directamente con los archivos mdf y ldf y
en que momento debería trabajar con un backup database?

De antemano muchas gracias por su tiempo.
Saludos!

Respuesta Responder a este mensaje
#2 Rony De Sousa
22/04/2008 - 17:48 | Informe spam
Gracias por tu respuesta Alejandro.

"1 - No hace falta parar el servicio para detachar una db."
Correcto, me refería a que, para copiar los mdf y ldf hay dos formas de
hacerlo, una es haciendo detach, copiar los archivos y luego hacer atach
(todo esto con los servicios en ejecución) y pues la otra es, que si no se
quiere separar la base de datos ahí si es necesario detener los servicios
para poder copiar los mdf y ldf.

"3 - Posiblemente se dejen de usar esos procedimientos en futuras versiones."
Mmm interesante este punto, de echo para ser sincero hace un par de años ni
siquiera sabía trabajar directamente con los archivos mdf y ldf jeje, sino
que con backup y restore me era suficiente, pero, si se elimina este punto si
que ya no habrá manera de usar este método..

Respecto a este punto, y en referencia a mi pregunta de en que momento
debería trabajar directamente con los mdf y ldf creo que la respuesta sería
"No debería trabajar directamente con esos archivos" cierto? O alguien piensa
lo contrario?

"5 - Que tal si tu db es demasiado grande, has pensado hacer los respaldos
por grupo de archivos?"
En este punto si debo mejorar mucho más, digamos, basicamente trabajo con
los respaldos completos de la base de datos o del log de transacciones y vaya
que muchas veces los respaldos son muy pesados, hablo de 1 a 2 GB incluso, y
ni hablar de lo pesado que es copiar y pegar un mdf de 2GB y un ldf de tamaño
aún mayor..


Gracias de nuevo! Saludos!
Respuesta Responder a este mensaje
#3 Alejandro Mesa
22/04/2008 - 21:36 | Informe spam
Rony De Sousa,

"3 - Posiblemente se dejen de usar esos procedimientos en futuras versiones."
Mmm interesante este punto, de echo para ser sincero hace un par de años ni
siquiera sabía trabajar directamente con los archivos mdf y ldf jeje, sino
que con backup y restore me era suficiente, pero, si se elimina este punto si
que ya no habrá manera de usar este método..



Dejame aclarar que el procedimiento que se dejara de usar es sp_attach_db.
Microsoft recomienda que se use la nueva funcionalidad CREATE DATABASE
nombre_db FOR ATTACH.

Otro punto que se me paso es cuando la db se esta replicando, en ese caso
tendras que eliminar la publicacion para poder detacharla.


AMB


"Rony De Sousa" wrote:

Gracias por tu respuesta Alejandro.

"1 - No hace falta parar el servicio para detachar una db."
Correcto, me refería a que, para copiar los mdf y ldf hay dos formas de
hacerlo, una es haciendo detach, copiar los archivos y luego hacer atach
(todo esto con los servicios en ejecución) y pues la otra es, que si no se
quiere separar la base de datos ahí si es necesario detener los servicios
para poder copiar los mdf y ldf.

"3 - Posiblemente se dejen de usar esos procedimientos en futuras versiones."
Mmm interesante este punto, de echo para ser sincero hace un par de años ni
siquiera sabía trabajar directamente con los archivos mdf y ldf jeje, sino
que con backup y restore me era suficiente, pero, si se elimina este punto si
que ya no habrá manera de usar este método..

Respecto a este punto, y en referencia a mi pregunta de en que momento
debería trabajar directamente con los mdf y ldf creo que la respuesta sería
"No debería trabajar directamente con esos archivos" cierto? O alguien piensa
lo contrario?

"5 - Que tal si tu db es demasiado grande, has pensado hacer los respaldos
por grupo de archivos?"
En este punto si debo mejorar mucho más, digamos, basicamente trabajo con
los respaldos completos de la base de datos o del log de transacciones y vaya
que muchas veces los respaldos son muy pesados, hablo de 1 a 2 GB incluso, y
ni hablar de lo pesado que es copiar y pegar un mdf de 2GB y un ldf de tamaño
aún mayor..


Gracias de nuevo! Saludos!

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida