Querys do Dia a Dia – Monitoramento do Banco de Dados – Who is Active
Fala Pessoal,
Nesse inicio de ano meu blog ficaria um pouco parado pois estou intensificando meus estudos para atualizar meu título de MCITP Database Administrator para o SQL Server 2008(prova 70-453). Entretanto, como a média de acessos do blog está ainda maior que no ano passado, não poderia deixá-lo parado todo esse tempo. Então, nesse período, resolvi escrever posts curtos com algumas querys que utilizo no meu dia a dia como DBA Full-Time de uma empresa.
A primeira delas é uma SP que eu considero a mais informativa de todas e que eu comecei a utilizar a pouco tempo. O nome dela é sp_WhoIsActive.
Essa procedure foi criada por Adam Machanic(Blog|Twitter) e ganhou o premio de BEST FREE TOOL de 2010 pela SQL Server Magazine. Algumas das informações que encontramos nessa SP são:
- Todos os processos que estão ativos em nosso servidor SQL.
- O tempo que esses processos estão ativos.
- Os usuários que executaram os processos.
- O tipo de wait momentâneo que o processo está sofrendo.
- O consumo de memória, o número de reads e writes dos processos.
- O código da query que está sendo executado. Caso seja uma procedure ou um Batch com várias querys, a sp_WhoisActive retorna apenas a query que está sendo executada naquele momento. Com isso é possível identificar qual parte da sua procedure está sendo executada (Excelente!!!).
Se o Adam Machanic cobrasse pela utilização dessa procedure eu pagaria na hora. Você que é DBA e precisa monitorar um ambiente com SQL Server não pode deixar de utilizar essa SP. Eu tenho uma conexão que fica aberta o dia inteiro no meu ambiente com essa SP, executando-a várias vezes durante o dia.
Nesse link é possível fazer o download do Script da procedure. Em seguida deve-se criar a procedure na database master e executá-la. A procedure roda em menos de 1 segundo, então não irá impactar na performance do seu ambiente.
Gostou dessa dica?
Cadastre seu e-mail para receber novos Posts e curta minha Página no Facebook para receber Dicas de Leituras e Eventos sobre SQL Server.
Aprenda a criar essa e outras rotinas para administrar melhor seu SQL Server no meu Treinamento de Tarefas do Dia a Dia de um DBA.
Abraços,
Fabrício Lima
MCITP – Database Administrator
Consultor e Instrutor SQL Server
Trabalha com SQL Server desde 2006
your good
Parabéns, depois de anos achei a solução para meus problemas. Obrigado
Valeu Nicholas. Essa SP é realmente excepcional.
Fabricio,
Preciso altaerer a senha do usuário sa de produção, pois alguns de e acho que esta procedure sp_whoisactive vai me ajudar para monitorar quais usuários estão conectados na instancia.
Criei a procedure no meu banco master, mas não estou conseguindo executa-la. Esta retornando erro.
Paar executa-la é da mesma maneira da sp_who e sp_who2 ?
Obrigado
Abraços
Helber
Sim. Exatamente da mesma maneira.
Ex: exec sp_whoisactive
Olá executei a procedure e aparece campos vazios, vc sabe o porque?
Obrigada
Olá Flaviane,
Bem provável que seja porque não tem nada em execução no banco de dados nesse momento.
Obrigada Fabrício isso mesmo! Valeu
De nada.
Olá Fabrício! Ótimo artigo, contudo o link não está funcionando mais:
http://sqlblog.com/blogs/adam_machanic/archive/2010/10/21/who-is-active-v10-00-dmv-monitoring-made-easy.aspx
obrigado por informar.