martes, 1 de octubre de 2013

“Desbloquear” una base de datos

Hace ya algún tiempo os comente como pasar una base de datos a acceso de un sólo usuario para cuando teníamos problemas al restaurar.

Otra forma de hacerlo es mediante Scripts, que es mucho más rápido.

Pasar de “MULTI USER” a “SINGLE USER”:
ALTERDATABASE [BASE_DE_DATOS] SET SINGLE_USER WITH ROLLBACKIMMEDIATE
GO




Pasar de “SINGLE USER” a “MULTI USER”:
ALTERDATABASE [BASE_DE_DATOS] SET MULTI_USER WITH ROLLBACKIMMEDIATE
GO



Si aún así os sigue dando problemas por que la base de datos este “pillada” por algún proceso, podemos lanzar el siguiente script para “matar” los procesos de una base de datos:

DECLARE @NombreDataBase NVARCHAR(MAX) = 'Nombre_Base_Datos'
DECLARE @Spid INT = (select spid from master..SysProcesses WHERE DB_NAME(DBId)= @NombreDataBase)
SELECT @Spid
DECLARE @ComandoSQLKill NVARCHAR(MAX) = 'KILL ' + convert(VARCHAR(10),@Spid)

EXEC (@ComandoSQLKill)



 

Bueno, espero que después del tiempo que llevo sin actualizar, estos scripts os puedan servir de algo.

No hay comentarios:

Publicar un comentario