[Error resuelto] Error de restauración de base de datos SQL, base de datos en uso

Summary: Este blog describirá las soluciones para solucionar el error "Error de restauración de base de datos SQL, base de datos en uso". Estas soluciones incluyen la desconexión de las conexiones activas (usuarios y procesos) a la base de datos y el uso de Stellar Toolkit para el software MS SQL para recuperar la base de datos SQL (db) desde un archivo db o de copia de seguridad (.bak) dañado. Las soluciones se aplican a MS SQL Server 2019, 2017, 2016, 2014 y versiones inferiores.

Al intentar restaurar la base de datos de SQL Server a partir de una copia de seguridad, es habitual recibir un mensaje de error con el siguiente texto:

Error de restauración para el servidor ‘xxx’ (Microsoft.SqlServer.SmoExtended)

Información adicional: System.Data.SqlClient.SqlError: No se pudo obtener acceso exclusivo porque la base de datos está en uso.

 Figura 1: Mensaje de error de restauración de base de datos SQL fallida

Razones del error “Error de restauración de base de datos SQL, base de datos en uso

A continuación se indican algunas razones que podrían interferir con el proceso de restauración y arrojar el error ‘restore of database failed because the database is in use‘:

Ahora, vamos a discutir las soluciones para corregir el error.

Consejo: La base de datos de SQL Server se puede restaurar desde el archivo de copia de seguridad (bak ). Sin embargo, la operación de restauración de la base de datos puede fallar si el archivo .bak está dañado. Utilice el software Stellar Toolkit for MS SQL que viene con una eficiente herramienta de extracción de copias de seguridad SQL diseñada para ayudar a los administradores de bases de datos a recuperar bases de datos SQL desde archivos de copia de seguridad (.BAK) dañados. El software es compatible con SQL Server 2019, 2017, 2016, 2014, 2012 y versiones anteriores.

Antes de empezar

Antes de proceder a resolver el error – no se ha podido obtener acceso exclusivo porque la base de datos está en uso, asegúrese de cumplir los siguientes requisitos previos:

¿Cómo solucionar el problema de “no se puede restaurar la base de datos SQL porque está en uso”?

Cuando intente restaurar una base de datos SQL Server, asegúrese de que no hay conexiones activas. Si alguien está utilizando la base de datos, la operación de restauración fallará. Para resolver el problema, deberá desconectar a los usuarios activos. Puede hacerlo siguiendo cualquiera de estos métodos:

NOTA: Antes de desconectar a los usuarios, utilice el procedimiento almacenado SQL ‘sp_who’ para comprobar todos los usuarios que están utilizando actualmente la base de datos. Si encuentra usuarios realizando algunas tareas importantes, notifíqueselo a dichos usuarios antes de desconectarlos. Para obtener información detallada sobre sp_who, consulte este enlace. Si no desea notificar a los usuarios, pase al método 2.

Método 1 – Cerrar las conexiones existentes a la base de datos

Para cerrar las conexiones existentes a SQL db, siga estos pasos:

Paso 1: Abra SSMS y conéctese a la base de datos.

Paso 2: Después de conectarse a la base de datos, aparecerá el panel Explorador de objetos en la parte izquierda de la ventana de SSMS.

Paso 3: En el panel Explorador de objetos, haga clic con el botón derecho en Bases de datos y, a continuación, seleccione Restaurar base de datos.

Figura 2: Restaurar base de datos

Paso 4: En el cuadro de diálogo Restaurar base de datos, haga lo siguiente:

Paso 5: En la página Opciones, marque la casilla “cerrar las conexiones existentes con la base de datos de destino”.

Figura 3: Cerrar las conexiones existentes

Una vez cerradas las conexiones SQL Server, proceda con la operación de restauración.

Método 2 -Cambiar del modo multiusuario al modo monousuario

Si cambia el modo multiusuario por defecto al modo de usuario único, se desconectarán todos los usuarios conectados. Puede utilizar esta opción si desea desconectar a todos los usuarios sin notificárselo.

Para forzar a los usuarios a desconectarse de SQL Server, configure la base de datos de modo multiusuario a modo monousuario siguiendo estos pasos:

Paso 1: Abra SSMS, conéctese a la base de datos.

Paso 2: En la ventana del Explorador de Objetos, seleccione Nueva Consulta. Copie y pegue el siguiente fragmento de código T-SQL en la ventana de consulta y, a continuación, haga clic en Ejecutar:

USE master;
IR A
ALTER DATABASE AdventureWorks2012
SET USUARIO_ÚNICO
CON ROLLBACK INMEDIATO;
IR A
Figura 4: Editor de consultas SSMS

La ejecución del código anterior cambiará la base de datos a modo monousuario.

Método 3 – Reinicie el servicio de SQL Server

También puede desconectar a los usuarios reiniciando el servicio SQL. Puede reiniciar el servicio mediante el Administrador de configuración de SQL Server, SSMS, la consola de servicios o la línea de comandos.

NOTA: Utilice este método como último recurso. Esto es porque, puede que sólo necesite restaurar una sola db, pero reiniciar el servidor matará las conexiones a todas las bases de datos.

Los pasos para reiniciar el servicio desde SQL Server Configuration Manager son los siguientes:

Paso 1: Navegue por SQL Server Configuration Manager utilizando cualquiera de las siguientes rutas:

SQL Server 2019 C:\Windows\SysWOW64\SQLServerManager15.msc

SQL Server 2017 C:\Windows\SysWOW64\SQLServerManager14.msc

SQL Server 2016 C:\Windows\SysWOW64\SQLServerManager13.msc

SQL Server 2014 C:\Windows\SysWOW64\SQLServerManager12.msc

SQL Server 2012 C:\Windows\SysWOW64\SQLServerManager11.msc

Paso 2: En el panel izquierdo de la ventana Administrador de configuración de SQL Server, haga clic en Servicios de SQL Server. Y en el panel derecho, haga clic con el botón derecho en el servicio SQL Server, y Detenga e Inícielo.

Paso 3: Haga clic en Aceptar para salir del Administrador de configuración de SQL Server.

Figura 5: Ventana del Administrador de configuración de SQL Server

¿Y si el problema persiste?

Si el problema persiste, es probable que haya un problema con la base de datos o que el archivo de copia de seguridad utilizado para restaurar la base de datos esté dañado. En ese caso, utilice Stellar Toolkit for MS SQL. El software puede recuperar una base de datos de un servidor SQL corrupto. También puede extraer una base de datos – de archivos de copia de seguridad (.bak) corruptos – que necesitan ser restaurados.

Stellar Toolkit for MS SQL también puede ayudarle a restablecer contraseñas de usuario y de administrador de SQL Server perdidas u olvidadas. Usted puede leer la revisión de software realizado por MVP desde aquí.

Para restaurar la base de datos desde un archivo de copia de seguridad (.bak) de SQL Server dañado utilizando el software, siga estos pasos:

Paso 1: Descargue, instale y ejecute el software Stellar Toolkit for MS SQL.

Paso 2: En la interfaz de usuario del software, seleccione Extract from MS SQL Backup.

Paso 3: En la ventana de Stellar Backup Extractor for MS SQL, haga clic en Select File para elegir el archivo .bak.

Figura 6: Seleccionar archivo de copia de seguridad (.bak)

NOTA: Elija la opción “Buscar en carpeta” si no conoce la ubicación del archivo./p>

Paso 4: Tras seleccionar el archivo .bak, haga clic en Escanear.

Paso 5: Aparece la ventana BackupSet con los detalles de todas las copias de seguridad.

Figura 7: Lista de copias de seguridad disponibles

Paso 6: Elija el archivo .bak que desea recuperar de la lista Tipo de copia de seguridad y, a continuación, haga clic en Siguiente para continuar con el proceso de escaneado.

Paso 7: Una vez finalizado el escaneado, aparece un cuadro de diálogo que muestra el número total de registros disponibles en el archivo de copia de seguridad.

Paso 8: El software muestra una vista previa de los registros de la base de datos.

Paso 9: Para guardar el archivo .bak recuperado, haga clic en Save en el menú File.

Paso 10: En la ventana emergente, seleccione MSSQL en Guardar como y, a continuación, haga clic en Examinar para seleccionar la ubicación en la que desea guardar el archivo recuperado. Haz clic en Aceptar.

Figura 8: Formatos de almacenamiento de archivos de copia de seguridad

Paso 11: Elija Nueva base de datos o Base de datos activa en Opciones de guardado. A continuación, especifique los detalles necesarios en la sección Conectar con el servidor y haga clic en Conectar.

Figura 9: Opciones de guardado de archivos de copia de seguridad

Paso 12: Haga clic en Aceptar cuando aparezca el mensaje “El proceso de recuperación se ha completado correctamente”.

Figura 10 – Cuadro de mensaje de recuperación completa

El archivo recuperado se guardará en la ubicación seleccionada.

Puede ver el vídeo completo desde aquí:

Conclusión

En este blog se explica cómo solucionar el problema de restauración de base de datos SQL fallida, base de datos en uso. Puede desconectar a los usuarios activos cerrando las conexiones existentes o cambiando del modo multiusuario al modo monousuario. O bien, desconecte todos los usuarios reiniciando el servicio de SQL Server. Pero, si todavía tiene problemas para restaurar la base de datos, Stellar SQL Database Toolkit puede serle útil. Ayuda a resolver el problema reparando la base de datos SQL corrupta o recuperando el archivo de copia de seguridad de SQL Server.

Related Post

Exit mobile version