Página 1 de 1

[Tutorial] - Listar conexões ativas e bloqueadas no SQL Server

Enviado: 06 Jun 2014 17:01
por Rafael Haubert
Executar a query abaixo:

Código: Selecionar todos

"Select Processos.spid As IdConexao,
	Bancos.name As QualBanco,
	Processos.blocked As IdBloqueador,
	Case Processos.blocked
		When 0 Then
			''
	Else
		(Select master.dbo.sysprocesses.hostname From master.dbo.sysprocesses Where master.dbo.sysprocesses.spid = Processos.blocked)
	End As HostBloqueador,
	Processos.login_time As DataHoraLogin,
	Processos.last_batch As DataHoraUltimaExecucao,
	Processos.hostname As NomeMaquina,
	Processos.program_name As NomeAplicativo,
	Processos.loginame As NomeLogin,
	Comando.Text As Query
From master.dbo.sysprocesses Processos
	CROSS APPLY sys.dm_exec_sql_text(Processos.sql_handle) AS Comando
	Left Join master.dbo.sysdatabases Bancos
		On Processos.dbid = Bancos.dbid"
Caso exista alguma informação diferente de zero "0" na coluna "IdBloqueador" é a conexão que está bloqueando o banco de dados.
Para derrubar, execute o procedimento abaixo:

Use o comando "Kill" passando o id da conexão
Ex.:

Código: Selecionar todos

"Kill 55"
Obs.: No caso de derrubar uma conexão que está bloqueando outra, certifique-se de informar o ID da conexão bloqueadora (IdBloqueador)