Restaurar base de datos SQL con acceso excluisivo

SQL Server

Ciertas operaciones que se realizan sobre las bases de datos de SQL Server requieren el uso exclusivo de esta base de datos por parte del usuario que está ejecutando el proceso o la tarea, una de ella puede ser la restauración de la misma desde un backup.

Al hacer una restauración de uan base de datos es posible encontrarse con el siguiente error en SQL Server:

Exclusive access could not be obtained because the database is in use

Una solución es:

USE master
GO
ALTER DATABASE mibase SET SINGLE_USER WITH ROLLBACK IMMEDIATE
GO

RESTORE DATABASE mibase
FROM DISK = 'c:\mibase.bak'

USE master
GO
ALTER DATABASE mibase SET MULTI_USER WITH ROLLBACK IMMEDIATE
GO

BACKUP DATABASE [mibase]
TO DISK = N'c:\mibase.bak'
WITH NOFORMAT,
INIT,
NAME = N'mibase Base de datos Copia de seguridad',
SKIP,
NOREWIND,
NOUNLOAD,
STATS = 10

tags: