Mudanças entre as edições de "Fecha conexões ativas com o Banco de Dados"

De MSTECH wiki
Ir para: navegação, pesquisa
(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...')
 
 
(Uma revisão intermediária pelo mesmo usuário não estão sendo mostradas)
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" line="1" >
+
<syntaxhighlight lang="sql">
 
USE master
 
USE master
 
GO
 
GO
 
declare @spid int
 
declare @spid int
 
declare @db_name varchar(100)
 
declare @db_name varchar(100)
set @db_name = 'BlueApi' -- coloque o nome da base aqui
+
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 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