Cómo Restaurar una Base de Datos en SQL Server Desde un Archivo .Bak Paso a Paso
El servidor SQL en su organización puede haber enfrentado un error como terminación abrupta, errores de conexión de la base de datos, errores transitorios, problemas de copia de la base de datos, ataques de programas maliciosos y demás. En todos estos casos, la opción más factible para restaurar su servidor SQL es con la ayuda de la copia de seguridad de su servidor SQL. Aunque en algunos casos, reiniciar el servidor SQL puede resolver el problema, pero restaurar la base de datos SQL con la ayuda de la copia de seguridad SQL (archivo .BAK) es la solución más factible. Cuando replicar una una copia de seguridad mediante T-SQL o SQL Server Management Studio no resuelva el problema, puede probar el Programa de Reparación para Bases de Datos SQL
Restaurar una Base de Datos de SQL Server desde un Archivo .BAK
La restauración de una base de datos de SQL Server se realiza para realizar una copia de seguridad Completa, Diferencial y de Archivo o Grupos de archivo con la ayuda de T-SQL o mediante el uso de SQL Server Management Studio (SSMS).
Nota: Desconecte TODOS los usuarios mientras restaura la base de datos en el servidor SQL desde el archivo .BAK. Ningún usuario debe estar usando la base de datos.
Antes de restaurar la copia de seguridad, debe entender lo siguiente:
Limitaciones y Restricciones:
- No se puede declarar un respaldo para una transacción implícita o explícita
- No se pueden restaurar respaldos creados en versiones más recientes de SQL Server a versione anteriores de SQL Server.
- Se debe entender y tener una visión general de los procedimientos de respaldo antes de proceder a restaurar un respaldo.
Recomendaciones.
- Para Bases de Datos SQL grandes. Se necesita más tiempo para realizar una restauración completa de una copia de seguridad. Es mejor optar por una serie de respaldos diferenciales de la base de datos como sustituto a un respaldo completo.
- Se debe analizar el tamaño del respaldo completo de la base de datos usando sp_spaceused – un procedimiento almacenado en el sistema.
- Todas las operaciones de respaldo exitosas agregan una entrada a los registros de errores en el servidor SQL, lo que puede generar una gran cantidad de entradas en el registro de respaldo. Con la ayuda de Trace Flage 3226, se puede resolver este problema, siempre que los scripts no dependan de estas entradas.
Respaldo usando T-SQL
Cree un Respaldo completo de la base de datos utilizando Transact-SQL o T-SQL para restaurar la base de datos desde un archivo .BAK
- Escriba la instrucción BACKUP DATABASE que crea la Copia de Seguridad completa de la base de datos utilizando las siguientes especificaciones:
- Nombre de la Base de Datos a respaldar
- Lugar donde se escribirá el respaldo Completo de la Base de Datos
- La Sintaxis para un Respaldo Completo de una Base de Datos es:
RESTORE DATABASE AdventureWorks FROM DISK = 'C:\AdventureWorks.BAK'
GO
Agregue diferentes opciones a la copia de seguridad con Opciones
- Especifique una o más opciones “With” para hacer una copia de seguridad con T-SQL. Estas incluyen:
- Por ejemplo, para la Descripción, donde Descripción = {;text’|@text_variable }. Descripción significa el texto de forma libre del conjunto de copia de seguridad.
De manera similar, existen comandos de respaldo para bases de datos T-SQL para respaldo diferencial, respaldo con compresión y respaldo con descripción para restaurar la base de datos del Servidor SQL.
Respaldo usando SQL Server Management Studio
Una vez que comience a crear una tarea de respaldo con SQL Server Management Studio o SSMS, también hay una opción para generar la copia de seguridad T-SQL correspondiente con la ayuda del botón Script. Además, podrá seleccionar el destino del Script para completar el proceso.
Respaldar una Base de Datos
- Conéctese a la instancia adecuada del motor de Bases de Datos de MS SQL. Luego, vaya a Object Explorer y haga clic en el Nombre del Servidor para abrir el Archivo del Servidor.
- Abra la Base de Datos y seleccione una Base de Datos de Usuario.
- Haga clic derecho en la base de datos, vaya a Tasks y haga clic en Backup para abrir la ventana de diálogo para Respaldar la Base de datos.
- Hay diferentes opciones para realizar respaldos relacionales a las bases de datos y todas incluyen pasos exclusivos de SSMS. Ingrese al sitio para ver una lista de todos los comandos disponibles de SSMS y para restaurar la base de datos desde un archivo .bak.
Cómo restaurar una base de datos desde un archivo .BAK usando SSMS
- Haga clic derecho en la Base de Datos y seleccione Task -> Restore -> Database
- Luego de hacer clic en una base de datos, una ventana con Restore Database aparecerá.
- Puede seleccionar la base de datos que desea restaurar o puede crear una nueva durante el proceso. Yo he seleccionado la opción From device.
- Especifique el respaldo.
- Seleccione el archivo .BAK.
- Presione OK
- El archivo .BAK será listado en la ventana de respaldo de Base de Datos.
- Antes de restaurar el respaldo, seleccione Options como se muestra en la imagen:
- Podrá ver las siguientes Restore Options:
¿Estoy Sobrescribiendo la Base de Datos Existente?
Si no desea sobrescribir la base de datos existente, puede crear una nueva base de datos y, en ese caso, deberá mover el archivo físico a la nueva ubicación.
La parte más importante de la operación de restauración es Recovery State:
RESTORE WITH RECOVERY vs RESTORE WITH NORECOVERY
Si está haciendo una restauración diferencial después de una restauración completa, si está haciendo una restauración de registro después de una restauración completa, no puede dejar su base de datos en estado recuperada, la debe dejar en estado no recuperada para que se puedan aplicar más respaldos.
Estoy seleccionando la primera opción “Leave the database ready to use by rolling back uncommitted transactions. Additional transaction log cannot be restored. (RESTORE WITH RECOVERY)”
La base de datos se ha restaurado exitosamente.
Sin embargo, la larga lista de comandos puede no ser una opción factible para cualquier administrador de SQL en el momento de una crisis. Actualmente, cualquier tiempo de inactividad es inaceptable. El proceso de restauración de una base de datos un el servidor SQL desde un archivo .BAK, usando los comandos T-SQL o SSMS es largo y requiere mucho tiempo. Cualquier tiempo de inactividad al restaurar una base de datos a partir de un archivo .BAK es inevitable, pero puede reducir la duración con la ayuda de un software especializado de recuperación de bases de datos SQL. Dicho software requiere la selección de la base de datos para escanear, reparar y finalmente guardarla en una ubicación preferida.
Programa de Ayuda
Un programa ahorra tiempo al Administrador del servidor SQL y a los usuarios y resuelve errores de forma eficiente. Sin embargo, seleccionar el software correcto es crucial para tener resultados rápidos y duraderos, además de que algunos softwares pueden generar problemas con la privacidad en las bases de datos. Stellar Repair for MS SQL es uno de los programas más efectivos para resolver errores en bases de datos SQL, que permite una recuperación Rápida en momentos en que el servidor SQL se vea afectado. El programa recupera las bases de datos SQL a su estado original y guarda la base de datos en la ubicación de su preferencia. El programa es fácil de usar, incluso para los usuarios inexperimentados.
Conclusión
Gestionar la base de datos SQL y mantenerla en funcionamiento es la principal prioridad de los Administradores de SQL. Por lo tanto, si hay algún problema, debe resolverse rápidamente mediante el proceso de restauración de la base de datos del servidor SQL correspondiente. Comprender los comandos T-SQL y operar con SQL Server Management Studio para restaurar un Servidor SQL con un archivo .BAK ayuda en la restauración de la base de datos SQL. Si el archivo no está disponible incluso después del proceso de recuperación manual, concluya el proceso con la ayuda del software Stellar SQL Database Recovery. El software sirve como una solución más rápida y conveniente al proporcionar funciones como Save y Load Scan para guardar la base de datos escaneada y para cargarla luego de forma exitosa.