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.