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

O MS SQL Server é um SGBD - sistema gerenciador de Banco de dados relacional desenvolvido pela Microsoft. Foi criado em parceria com a Sybase em 1988 inicialmente para a plataforma OS/21 . Esta parceria durou até 1994, com o lançamento da versão para Windows NT e desde então a Microsoft mantém a manutenção do produto. Como um Banco de dados, é um produto de software cuja principal função é a de armazenar e recuperar dados solicitados por outras aplicações de software, seja aqueles no mesmo computador ou aqueles em execução em outro computador através de uma rede (incluindo a Internet). Há pelo menos uma dúzia de diferentes edições do Microsoft SQL Server destinadas a públicos diferentes e para diferentes cargas de trabalho (variando de pequenas aplicações que armazenam e recuperam dados no mesmo computador, a milhões de usuários e computadores que acessam grandes quantidades de dados a partir da Internet ao mesmo tempo). Suas linguagens de consulta primárias são T-SQL e ANSI SQL.
Rafael Haubert
Newbie
Newbie
Mensagens: 2
Registrado em: 09 Abr 2014 20:38
Status: Offline

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

Mensagem 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)



Voltar para “SQL Server”