Derrubar todos os processos de um determinado Banco de Dados (TSQL)

USE master

— Informe o nome do BD
Declare @BD varchar(max)
SET @BD = ” — < Informe aqui o nome do BD

IF @BD = ”
BEGIN print
RAISERROR (‘Error: Informe o nome do banco de dados’,
16, — Severity.
1 — State.
);
END

Declare @Id int
Declare o_rs Cursor for

Select   spid
From    sysprocesses
Where dbid = (Select dbid From sysdatabases Where name = @BD)

Open o_rs
Fetch next From o_rs Into @Id

While (@@Fetch_Status = 0)
Begin
— exec (‘kill ‘ + @Id)
print (‘kill ‘ + convert(varchar, @Id))
Fetch next From o_rs Into @Id
End

Close o_rs
DealLocate o_rs


Vejam também:

Misterioso Comando KILL

Qual o significado de PREEMPTIVE_OS_PIPEOPS?

Desafio: Comando KILL demorado (infinito)

4 comentários em “Derrubar todos os processos de um determinado Banco de Dados (TSQL)”

  1. Alex,
    não entendi foi onde ficou a ligação do usuário com os processos. Pelo que vi, esse script vai matar todos os processos do BD, independente do usuário.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google

Você está comentando utilizando sua conta Google. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s