Mudanças entre as edições de "Fecha conexões ativas com o Banco de Dados"
De MSTECH wiki
(Criou página com 'Este script tem por finalidade fechar todas as conexões ativas à um determinado banco de dados. Útil quando existe a necessidade de se ter exclusividade de acesso ao banco...') |
|||
Linha 6: | Linha 6: | ||
declare @spid int | declare @spid int | ||
declare @db_name varchar(100) | declare @db_name varchar(100) | ||
− | set @db_name = ' | + | set @db_name = 'NomeBanco' -- coloque o nome do banco de dados aqui |
declare spid cursor for | declare spid cursor for | ||
select spid | select spid |
Edição das 17h53min de 4 de agosto de 2016
Este script tem por finalidade fechar todas as conexões ativas à um determinado banco de dados. Útil quando existe a necessidade de se ter exclusividade de acesso ao banco de dados, como no caso de executar o restore de uma dada base.
1 USE master
2 GO
3 declare @spid int
4 declare @db_name varchar(100)
5 set @db_name = 'NomeBanco' -- coloque o nome do banco de dados aqui
6 declare spid cursor for
7 select spid
8 from master.dbo.sysprocesses(nolock)
9 where dbid = db_id(@db_name) and spid > 50
10 union
11 select distinct request_session_id
12 from sys.dm_tran_locks (nolock)
13 where resource_database_id = db_id(@db_name) and request_session_id > 50
14 open spid
15 fetch next from spid into @spid
16 while @@fetch_status = 0
17 begin
18 exec ('kill ' + @spid)
19 fetch next from spid into @spid
20 end