Hoje precisei matar algumas conexões ativas em uma base de dados específica então o fiz. Geralmente isto é um processo cansativo, abrir o abrir o enterprise manager e matar cada processo ativo, um por um. Quando você tem uma ou duas conexões ativas é tranquilo, agora quando você tiver 10 conexões pode ser um processo irritante e cansativo. Então para ajudar nesta tarefa árdua aqui vai o script que busca todas as conexões ativas de uma dada base de dados e mata cada conexão.
--Colocar a base de dados em modo single_user
alter database dbName set single_user with rollback immediate
-- Agora vamos realizar a tarefa de matar as conexões
declare @execSql varchar(1000), @databaseName varchar(100)
-- Set the database name for which to kill the connections
set @databaseName = 'MinhaDatabase'
set @execSql = ''
select @execSql = @execSql + 'kill ' + convert(char(10), spid) + ' '
from master.dbo.sysprocesses
where db_name(dbid) = @databaseName
and
DBID <> 0
and
spid <> @@spid
exec(@execSql)
--Agora vamos repor a base de dados para modo multi_user:
alter database dbName set multi_user with rollback immediate
Nenhum comentário:
Postar um comentário