Olá Pessoal,
Colocarei 4 procedimentos armazenados úteis para se obter informações quanto a usuários logados, processos atuais, espaço utilizado e etc, são eles:
- sp_who
- sp_spaceused
- sp_monitor
Falaremos hoje sobre o sp_who
sp_who
Responsavél por retornar os usuários logados, processos e sessões.
Sintaxe
EXEC sp_who login, sessao, ‘Active’
Exemplos:
EXEC sp_who
Resultado: Retorna todos os usuários atuais.
EXEC sp_who ’sa’
Resultado: Retorna os processos do usuário ’sa’.
EXEC sp_who ‘active’
Resultado: Retorna os processos ativos
EXEC sp_who ‘200′
Resultado: Retorna a sessão 200, onde 200 é o ID da Sessão.
Os resultados que o sp_who retorna, são esses:
spid
Id da sessão.
ecid
Id da thread que esta sendo executada, associada a um spid(Id da sessão).
Obs: Por padrão o ecid vem 0(Id da Sessão pai), caso venha 1,2,3,n eles são “filhos” do processo pai.
status
Status do processo, valores:
dormant - O SQL Server esta redefinindo a sessão.
running - A Sessão esta executando um ou mais lotes.
background - A Sessão esta executando uma tarefa em segundo plano.
rollback - A sessão tem uma reversão de transação em processo.
pending - A sessão está aguardando que uma thread de trabalho seja disponibilizado.
runnable - A tarefa da sessão está na fila executável de um agendador enquanto aguarda para obter um quantum de hora.
spinloop – A tarefa da sessão está aguardando que um spinlock seja liberado.
suspended – A sessão está aguardando que um evento, como E/S(Entrada/Saída), seja concluído.
loginname – Nome do login responsavel pelo processo. Ex: sa
hostname - Nome do computador ou host que esta executando o processo.
blk – ID de sessão do processo de bloqueio, se houver. Caso contrário, essa coluna será zero.
Quando uma transação associada a uma ID de sessão especificada for bloqueada por uma transação distribuída órfã, essa coluna retornará um ‘-2′ para o bloqueio da transação órfã.
dbname - Nome da base de dados onde esta sendo executado o processo
cmd - Comando que esta sendo executado pelo processo.
request_id – ID de solicitações em execução em uma sessão específica.
Observações:
Requer permissão VIEW SERVER STATE no servidor para visualizar todas as sessões em execução na instância de SQL Server. Caso contrário, o usuário verá somente a sessão atual.
Mais informações: http://msdn.microsoft.com/pt-br/library/ms174313.aspx
Bom por hoje é só, até a próxima,
Obrigado,
Marcelo
Tags: sessões, sp_who, SQL Server, usuários