Reducir log SQL Server

— Obtener el nombre del archivo de log de la base

sp_helpdb PRUEBADB

ALTER DATABASE PRUEBADB
SET RECOVERY SIMPLE;
GO
–Reducimos el log de transacciones a 50 MB.
DBCC SHRINKFILE(PRUEBADB_LOG, 50);
GO
–Cambiamos nuevamente el modelo de recuperación a Completo.
ALTER DATABASE PRUEBADB
SET RECOVERY FULL;
GO

Sin embargo lo ideal es no tener que llegar a hacer eso, esto es para casos en que necesitamos liberar espacio rápidamente, haciéndole backup al log de manera periódica para que el reutilice el espacio del archivo del log

Sesiones y bloqueos en SQL Server

Query para identificar sesiones bloqueadas

USE DB_PRUEBA
GO
SELECT session_id,
blocking_session_id,
wait_time,
wait_type,
last_wait_type,
wait_resource,
transaction_isolation_level,
lock_timeout
FROM sys.dm_exec_requests
WHERE blocking_session_id <> 0
GO

Matar todas las conexiones a una base:

declare @kill varchar(8000)=»;
begin
select ‘kill ‘+ CONVERT(varchar(5),session_id) + ‘;’
from sys.dm_exec_sessions where database_id = db_id(‘DB_PRUEBA’);
exec(@kill);
end;