Mudanças entre as edições de "Fecha conexões ativas com o Banco de Dados"
De MSTECH wiki
Linha 1: | Linha 1: | ||
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. | 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. | ||
− | <syntaxhighlight lang="sql | + | <syntaxhighlight lang="sql"> |
USE master | USE master | ||
GO | GO |
Edição atual tal como às 16h22min de 23 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.
USE master
GO
declare @spid int
declare @db_name varchar(100)
set @db_name = 'NomeBanco' -- coloque o nome do banco de dados aqui
declare spid cursor for
select spid
from master.dbo.sysprocesses(nolock)
where dbid = db_id(@db_name) and spid > 50
union
select distinct request_session_id
from sys.dm_tran_locks (nolock)
where resource_database_id = db_id(@db_name) and request_session_id > 50
open spid
fetch next from spid into @spid
while @@fetch_status = 0
begin
exec ('kill ' + @spid)
fetch next from spid into @spid
end