backup & restore

19
Muchos webmasters necesitamos de vez en cuando efectuar un backup de la base de datos. Podemos utilizar phpMyAdmin si el peso de las tablas es pequeño. Si el sistema permite una conexión remota, existe una utilidad que nos puede ayudar: SQL-Front. También podemos subir a nuestro servidor web, a través del FTP, phpMyBackup Pro y ejecutar los distintos scripts, a través de diferentes menús, después de una sencilla configuración. Pero todo lo anterior se puede reducir a la instalación de dos sencillos scripts: uno para efectuar la copia de seguridad y otro para llevar a cabo la restauración. Se pueden utilizar para llevar a cabo una migración de una base a otra, en el mismo o en distintos servidores; todo es configurable. Veamos los pasos: Creas un script (al que puedes llamar backup.php), como el que pongo a continuación, que subirás al directorio raíz (o a un directorio nuevo al que puedes llamar copias) de tu servidor FTP. Ejecutas el script, después de poner los datos adecuados: Debes sustituir localhost por la dirección de tu servidor de base de datos actual; usuario por el nombre de usuario; contraseña por la contraseña; base por el nombre de la base de datos. Ejecutado el script anterior desde tu navegador web, aparecerá en el directorio raíz (o en el que has creado) de tu servidor un archivo sql llamado copia.sql. (Para que se pueda crear dicho archivo, el directorio en el que se va a alojar ha de tener permisos de lectura y escritura: CHMOD 777). Lo bajas a tu ordenador y lo subes al nuevo servidor. (Esto siempre que cambies de servidor). Creas un script, al que llamas restaura.php, para restaurar la base de datos en el nuevo servidor. Sería como el siguiente, con las sustituciones pertinentes (tendrás que subirlo al directorio raíz o al directorio copias, en el que se encuentra o subes copia.sql):

Transcript of backup & restore

Muchos webmasters necesitamos de vez en cuando efectuar un backup de la base de datos. Podemos utilizar phpMyAdmin si el peso de las tablas es pequeo. Si el sistema permite una conexin remota, existe una utilidad que nos puede ayudar: SQL-Front. Tambin podemos subir a nuestro servidor web, a travs del FTP, phpMyBackup Pro y ejecutar los distintos scripts, a travs de diferentes mens, despus de una sencilla configuracin. Pero todo lo anterior se puede reducir a la instalacin de dos sencillos scripts: uno para efectuar la copia de seguridad y otro para llevar a cabo la restauracin. Se pueden utilizar para llevar a cabo una migracin de una base a otra, en el mismo o en distintos servidores; todo es configurable. Veamos los pasos: Creas un script (al que puedes llamar backup.php), como el que pongo a continuacin, que subirs al directorio raz (o a un directorio nuevo al que puedes llamar copias) de tu servidor FTP. Ejecutas el script, despus de poner los datos adecuados:

Debes sustituir localhost por la direccin de tu servidor de base de datos actual; usuario por el nombre de usuario; contrasea por la contrasea; base por el nombre de la base de datos. Ejecutado el script anterior desde tu navegador web, aparecer en el directorio raz (o en el que has creado) de tu servidor un archivo sql llamado copia.sql. (Para que se pueda crear dicho archivo, el directorio en el que se va a alojar ha de tener permisos de lectura y escritura: CHMOD 777). Lo bajas a tu ordenador y lo subes al nuevo servidor. (Esto siempre que cambies de servidor). Creas un script, al que llamas restaura.php, para restaurar la base de datos en el nuevo servidor. Sera como el siguiente, con las sustituciones pertinentes (tendrs que subirlo al directorio raz o al directorio copias, en el que se encuentra o subes copia.sql):

Esta es una forma de realizar una copia y, posterior restauracin, de cualquier base de datos. Slo en casos muy especiales, algunos servidores gratuitos, no es efectivo.

Para poder restaurar parcialmente los archivelogs de una base de datos tras haber realizado un full backup para volver ms consistente y actualizada la base de datos, debemos hacer lo siguiente: 1-Crearemos un script de RMAN solo para realizar las copias de los archivelogs a una carpeta determinada: run { allocatechannel c1 type disk; sql 'alter system archive log current'; set archivelogdestinationto 'D:\BACKUP\archivesolo'; backuparchivelogallformat 'D:\BACKUP\archivesolo\arc_t%t_s%s_p%p'; releasechannel c1; } Con el script anterior haremos una copia de seguridad solo de los archivelogs (obviamente deberemos tener un full backup echo anteriormente). 1-Desde el rman lanzamos el comando: RMAN>startupmount (para comenzar a restaurar) Lanzamos el script de backup de archivelogs: run { allocatechannel c1 type disk; sql 'alter system archive log current'; set archivelogdestinationto 'D:\BACKUP\archivesolo'; backuparchivelogallformat 'D:\BACKUP\archivesolo\arc_t%t_s%s_p%p'; releasechannel c1; } Luego con el comando listbackupset buscaremos una copia de seguridad que comience con ARCxxxxxxxxxxx.xx donde X se completa con los datos del da, hora, scn, etc. RMAN>listbackupset; Esto nos devolver todas las copias de seguridad que tenemos de nuestra bbdd y archivelogs: List of ArchivedLogs in backup set 40885 ThrdSeqLow SCN Low Time Next SCN Next Time - - - - 1 12870 132214214 31-OCT-05 132240966 31-OCT-05 1 12871 132240966 31-OCT-05 132291702 01-NOV-05 1 12872 132291702 01-NOV-05 132400078 01-NOV-05 1 12873 132400078 01-NOV-05 132504581 01-NOV-05 1 12874 132504581 01-NOV-05 132594119 01-NOV-05

1 12875 132594119 01-NOV-05 132683505 01-NOV-05 Si queremos restaurar los archivelogs ms nuevos debemos hacer lo siguiente, creamos un script para RMAN con las siguientes lneas: RMAN>run { ALLOCATE CHANNEL c1 DEVICE TYPE DISK; restorearchivelogsequence 12872; restorearchivelogsequence 12873; restorearchivelogsequence 12874; } Con el script anterior le decimos a RMAN que restaure y aplique los archivelogs de las secuencias desde la 12872 a la 12874. 2-Una vez restaurados debemos abrir la base de datos con el comando: ALTER DATABASE OPEN RESETLOGS; Y listo!.

Introduccin:Con el SQL Server 2005 Management Studio Express puedes crear copias de seguridad de las bases de datos que tengas definidas en el servidor de SQL Server. Esa copia de seguridad la puedes volver a restaurar en ese mismo equipo o en otro diferente. Aqu te explico de forma sencilla cmo realizar una copia de seguridad de una base de datos y despus cmo usar una base de datos a partir de una copia. En este ejemplo tambin te explico cmo restaurar una base de datos que hayas copiado, pero con otro nombre, con idea de que puedas comprobar si esa copia est bien... ya que no tiene mucho sentido hacer una copia de seguridad si despus no nos sirve de nada...

Nota: Para realizar todo lo que te comento, debes tener instalado y abierto el Management Studio de SQL Server 2005 (todo lo aqu explicado es tambin vlido para la versin normal o la Express).

Aqu tienes los links a las secciones de este artculo: y y y

Hacer copia de seguridad de una base de datos existente Restaurar una base de datoso Indicar una ubicacin diferente a la original

Restaurar una base de datos existente pero usando un nombre diferente

Hacer copia de seguridad de una base de datos existenteLo primero que haremos es hacer una copia de seguridad, que es la parte que en principio tiene menos problemas. En el Explorador de objetos (el panel que suele estar a la izquierda y en el que se muestran las bases de datos que tienes en el servidor que hayas abierto), expande la rama de Bases de datos y selecciona la base de datos de la que quieres hacer la copia de seguridad, pulsa con el botn derecho (o mejor dicho, secundario, por si eres zurdo) y del men emergente, selecciona Tareas y del submen mostrado, Copia de seguridad... tal como puedes ver en la figura 1.

Figura 1. Hacer copia de seguridad de una base de SQL Server Esto te mostrar un cuadro de dilogo como el mostrado en la figura 2. Si quieres hacer la copia de seguridad en el directorio que SQL Server Express usa por defecto, simplemente puedes pulsar en el botn Aceptar para hacer la copia, pero si quieres elegir la ruta en la que se har la copia, tendrs que pulsar en el botn Agregar... con idea de que puedas elegir donde quieres guardarlo.

Figura 2. Cuadro de dilogo para hacer la copia de seguridad Al pulsar en el botn Agregar, te mostrar un nuevo cuadro de dilogo (ver figura 3), desde el que podrs elegir dnde se guardar la copia de seguridad. Por ejemplo, en mi caso, quiero que se guarde en el disco E y en la carpeta bases, as que selecciono ese directorio (en la figura 2 se muestra reducido, pero es muuucho ms alto), pero no solo vale con seleccionar el directorio, ya que hay que escribir el nombre del fichero de copia de seguridad, en mi caso, como la base de datos que estoy copiando se llama conImagenes2, el nombre que le he dado es conImagenes2.bak, aunque no es obligatorio usar ninguna extensin, pero como es un "backup", pues...

Figura 3. Indicar dnde guardar la copia Una vez escrito el nombre de la copia de seguridad, tendremos el valor que inicialmente nos mostr el Management Studio adems del que nosotros hemos elegido, (ver la figura 4), como no necesitamos dos copias de seguridad, puedes borrar la indicada en el disco C (el de Archivos de programa). Para borrarla, la tendrs que seleccionar y pulsar en el botn Quitar. Si dejas los dos nombres, se har una copia en cada una de las ubicaciones que hayas indicado.

Figura 4. Cuadro de dilogo de copia de seguridad con copia en dos sitios Si sabemos que ya existe una copia de seguridad anterior con el mismo nombre, deberamos sobrescribir la copia de seguridad, ya que por defecto lo que se har es "anexarla" con lo cual el tamao del fichero ser ms grande, y puede que no sea lo que queramos hacer. En estos casos, debes pulsar en Opciones y marcar la opcin Sobrescribir todos los conjuntos de copia de seguridad existentes, tal como puedes ver en la figura 5.

Figura 5. Sobrescribir los datos existentes en la copia de seguridad Ahora solo tienes que pulsar en el botn Aceptar y si todo fue bien, te mostrar una viso de que la copia de seguridad se ha realizado correctamente (figura 6), en caso de que no haya sido as... pues te mostrar un error, as que... tendrs que revisar los pasos anteriores o que el disco tenga espacio, que tengas permisos suficientes para hacer la copia, etc.

Figura 6. Si se hizo bien la copia, nos muestra este aviso

Restaurar una base de datosAhora vamos a restaurar una base de datos a partir de una copia de seguridad. En el Explorador de objetos, pulsa con el botn secundario sobre el elemento Bases de datos y del men desplegable, selecciona Restaurar base de datos... tal como te muestro en la figura 7.

Figura 7. Restaurar una base de datos Si lo que vas a restaurar es una nueva base de datos, tendrs que escribir el nombre correspondiente en la caja de textos que hay junto a A una base de datos, en mi caso, la base de datos que voy a restaurar se llama elGuilleAniversario(ver la figura 8).

Figura 8. Cuadro de dilogo para restaurar una base de datos Antes de poder hacer la restauracin de la base de datos, tendrs que decirle dnde est la copia de seguridad. Para ello tendrs que marcar la opcin Desde dispositivo y pulsar en el botn para seleccionar el fichero de copia de seguridad de la base mediante un cuadro de dilogo como el mostrado en la figura 3. Aunque antes te habr mostrado un cuadro de dilogo como el mostrado en la figura 9, en el que tendrs que pulsar en el botn Agregar para que se muestre el cuadro de dilogo de seleccin de la copia de seguridad.

Figura 9. Paso previo para indicar la ubicacin de la copia de seguridad Tambin tendrs que marcar la opcin Restaurar del cuadro de dilogo mostrado en la figura 8, (si no lo haces te dar un error). Finalmente pulsa en el botn Aceptar y se realizar la restauracin de la base de datos... o casi... El casi es porque pueden ocurrir dos cosas (o ms), una de ellas es que la base de datos ya exista, es decir, ests restaurando una base de datos que ya est en la lista de bases de datos de la instancia (o servidor) de SQL Server. En ese caso, tendrs que indicarle que sobrescriba la base de datos existente. Para indicarlo, en el cuadro de dilogo (figura 8), tendrs que pulsar en Opciones y seleccionar la opcin Sobrescribir la base de datos existente (ver la figura 11). Otro problema que puede ocurrir es que la ubicacin en la que estaba la base de datos que se quiere restaurar estuviera en otro directorio diferente, y por supuesto que no exista en tu equipo. En ese caso, te mostrar un mensaje de error como el de la figura 10.

Figura 10. Error al restaurar en una ubicacin diferente a la original Si este es el caso, pulsa en Opciones, y en la lista central vers que puedes indicar dnde debe restaurarse la base de datos (ver la figura 11). Para indicar el directorio, puedes usar el botn o bien escribir directamente la ubicacin. Si pulsas en el botn para seleccionar el directorio de destino, el cuadro de dilogo de seleccin (como el de la figura 3) no te mostrar seleccionado ningn directorio, algo lgico, ya que esa ubicacin no existe. El destino puede ser cualquier carpeta, aunque lo recomendable es que sea la de datos de SQL Server, que en el caso de mi equipo que tiene la versin en espaol de Windows XP, es el directorio C:\Archivos de programa\Microsoft SQL Server\MSSQL.1\MSSQL\Data, aunque ese directorio puede ser diferente, pero normalmente estar en la carpeta de instalacin de SQL Server. Adems de la ubicacin del fichero _Data, tendrs que indicar el del fichero _Log.

Figura 11. Opciones extras para restaurar una base de datos Una vez que has indicado la ubicacin correcta, al pulsar en Aceptar, restaurar la base de datos y te avisar de que todo se hizo de forma correcta con un aviso como el mostrado en la figura 12.

Figura 12. Aviso de que se restaur correctamente la base de datos

Restaurar una base de datos existente pero usando un nombre diferenteOtra cosa que puedes hacer al restaurar una base de datos a partir de una copia de seguridad, es crear una copia con un nombre diferente, por ejemplo, para comprobar que la copia que has hecho est bien. En ese caso, tendrs que seguir los pasos que te acabo de indicar en la seccin anterior, y al indicar el nombre de la base de datos de destino, escribir otro nombre, adems de tambin indicar otro nombre para los ficheros _Data y _Log, (ver la figura 11), con idea de que no sobrescriba los datos que ya haya. Ya que aunque indiques otro nombre lgico que no exista, tambin tendrs que indicar otro nombre "fsico", sino... pues... sobrescribirs los datos existentes. Por supuesto, esos nombres de los ficheros pueden estar en otro directorio diferente al usado por defecto por el propio SQL Server 2005.

Todo lo aqu explicado es vlido para restaurar tanto bases de datos creadas con SQL Server Express como con cualquier otra versin compatible de SQL Server 2005, incluso la versin 2000, aunque en este ltimo caso, creo que tendr que estar creada esa copia de seguridad con el SP4, aunque esto ltimo no lo he probado.

Backup de base de datos MS SQLHandy Backup facilita un modo rpido y eficaz para hacer copias de seguridad de MSSQL Servidor que es un sistema para administrar bases de datos diseado por Microsoft que se utiliza mucho. Como ahora muchas actividades en negocio utilizan bases de datos guardadas en SQL servidores, la pregunta de como hacer las copias de seguridad de bases de datos MSSQL tiene mucha importancia para empresas de tamaos diferentes.

Descarga la versin de prueba de Handy Backup para 30 das y hace backup de MSSQL bases de datos GRATIS!Para hacer la copia de seguridad de MS SQL base de datos con la ayuda de Handy Backup su cuenta de usuario debe satisfacer dos condiciones. Primeramente Usted debe tener privilegios de administrador en MS SQL, y segundo debe utilizar Windows AuthenticationMode para conectar al Servidor SQL. MS SQL backup con la ayuda de Handy Backup tiene los siguientes rasgos:

y

Exactitud y fiabilidad de MSSQL backup. Es diferente de otras herramientas backup que utilizan ODBC protocolo para hacer copias de seguridad de MSSQL bases de datos, Handy Backup explota Microsoft API que permite hacer copias de seguridad de MS SQL bases de datos con todos sus aspectos, ndices, procedimientos guardados, y otros datos. Este tipo de MS SQL backup no se puede ejecutar en la red, pero nos da ms exactitud. Hacer backup de MSSQL bases de datos sin parar el servicio. Se puede ejecutar backup de MSSQL con Handy Backup sin interrumpir los servicios de su servidor SQL. Apoyo de backup de MS SQL Servidor 2005, MSSQL 2000, MS SQL 2008. Para hacer backup de MS SQL bases de datos slo se debe aadir la opcin MS SQL a su grupo de backup, y Handy Backupautomaticamente detectar todos los servidores SQL de bases de datos en su ordenador y los mostrar para que elijas lo necesario.

y y

y

Opciones y Programacin de Backup. Handy Backup tiene un nmero de opciones avanzadas de backup que le permiten comprimir su MSSQL backup con la ayuda de un integral ZIP-comprimidor con 10 niveles, cifrarlo con la clave simtrica de 128 bits, guardar la copia de seguridad con timestamps, etc. Adems se puede programar la tarea de MS SQL backup para que se repita cada da, semana, mes o Usted puede elegir el perodo del tiempo. Para obtener la lista completa de rasgos, consulte Handy Backup rasgos.

y

Seleccin diversa de dispositivos de almacenamiento para backup. Su MS SQL backup se puede guardar en cualquier tipo de dispositivos de almacenamiento: Handy Backup apoya backup a DVD, backup unidades externos (FireWire, USB y otros), servicio remoto de backup, y otras destinaciones de backup.

El rasgo de MS SQL backup es incluso en la versin Handy Backup Full. Si quiere hacer copias de seguridad de MS SQL bases de datos con ediciones Standard o Professional, Usted nos puede hacer el pedido de un adicional backupplugin. Handy Backup es una herramienta perfecta para hacer copias de seguridad de MSSQL: le permite estar seguro de sus datos y guarantiza que se podr devolver todas sus bases de datos rpidamente y sin errores en caso de cualquier disastre.

http://www.handybackup.es/microsoft-sql-server-backup.shtml