Tomar un backup de una base de datos y usarlo para hacer un restore (con el mismo nombre o con otro distinto) es probablemente la primera cosa que me enseñaron en mi primer dia como DBA de SQL Server, también es probablemente la cosa más útil y necesaria que me enseñaron.
Podrías dedicarte exclusivamente a hacer backups/restores y es bastante probable que encontrases trabajo aunque sea simplemente para migrar bases de datos entre instancias.
Si no estás familiarizado con el SQL Server Management Studio (SSMS) o simplemente vienes de otra tecnología como era mi caso, aquí te dejo como hacerlo en muy pocos y sencillos pasos.
Usaré un caso real, en este caso el cliente nos pidió tomar un backup de la base de datos «CP» y restaurarla con el nombre «CP_test» para realizar algunas pruebas sobre ella.
Cómo hacer un backup en SQL Server
1- En SQL Server Management Studio, haz click con el botón derecho sobre la base de datos de la que quieres tomar un backup, luego en «Task» y haz click en «Back Up».
2- Si quieres hacer un backup para hacer un restore normal es importante que marques la casilla «Copy-only backup», de esta forma no romperás la cadena de backups que tengas programados. Haz click en «Add» para añadir la ruta donde se guardará el backup.
3- Selecciona la ruta y dale un nombre al backup, no olvides añadir la extensión «.bak».
4- Una vez hecho esto a mi me gusta hacer click en el botón de «Script». Esto nos creará un query que podremos ejecutar para hacer el backup.
No es estrictamente necesario hacerlo de esta forma, pero es mucho más fácil revisar que todo está correcto si podemos ver el script y, en caso de tener que detener el proceso, sólo tendremos que parar la ejecución de la query.
Esto nos generará el siguiente script, sólo tenemos que ejecutarlo y nuestro backup se creará en la ruta especificada:
BACKUP DATABASE [CP] TO DISK = N'H:\CP27722.bak' WITH COPY_ONLY, NOFORMAT, NOINIT, NAME = N'CP-Full Database Backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10 GO
Cómo hacer un restore en SQL Server
La restauración o el restore de una base de datos en SQL Server en un proceso un poco más complejo que el backup, pero nada complicado si prestamos un poco de atención a 2 o 3 pequeños detalles.
Como dije al principio, usaré el backup de la base de datos «CP» tomado anteriormente para restaurarlo sobre un base de datos nueva llamada «CP_test».
1- En el SQL Server Management Studio haremos click con el botón derecho sobre «Databases» y luego sobre «Restore Database…».
2- En «Device» seleccionaremos la ruta donde está guardado nuestro backup, y para este caso le diremos que la base de datos de destino es «CP_test». Como la base de datos no existe, la creará.
Si queremos hacer un restore sobre una base de datos que ya existe, simplemente seleccionaremos la base de datos que necesitemos restaurar en esta sección.
3- En la página «Files» revisaremos las rutas donde se restaurarán los archivos. Por defecto seguirá las rutas especificadas con la instalación, pero podemos cambiar esto marcando la casilla «Relocate all files to folder» y seleccionando las rutas que queramos.
4- En la página «Options» marcaremos o no la casilla «Overwrite». Es este caso no lo haré porque la base de datos de destino no existe, pero si existiese y quisiese sobrescribir los datos tendríamos que marcarla.
Por experiencia, preguntad siempre a vuestro cliente si quiere o no sobrescribir los datos, os ahorrareis disgustos y problemas.
5- Como paso final sacaremos el script y lo ejecutaremos de la misma forma que hicimos con el backup. El resultado en este caso es el siguiente:
USE [master] RESTORE DATABASE [CP_test] FROM DISK = N'H:\CP27722.bak' WITH FILE = 1, MOVE N'PowerPick_ColorPicking' TO N'D:\MSSQLSERVER\DATA\CP_test.mdf', MOVE N'PowerPick_ColorPicking_log' TO N'E:\MSSQLSERVER\LOGS\CP_test_log.ldf', NOUNLOAD, STATS = 5 GO
Cuando el proceso finalice, nuestro restore estará completo. No olvidéis de pedirle al cliente que compruebe que todo está correcto.
Felicidades, ahora ya podéis migrar bases de datos entre instancias.
7 comentarios en «SQL Server – Backups y Restores»