/*================================================================================== Curso: SQL SERVER 2019 https://www.udemy.com/course/draft/3957796/?referralCode=FB10D369E786D9FE8A48 Instrutor: Sandro Servino https://www.linkedin.com/in/sandroservino/?originalSubdomain=pt https://filiado.wixsite.com/sandroservino MONITORAMENTO: ACTIVITY MONITOR ==================================================================================*/ -- JA CONVERSAMOS SOBRE ALGUNS INCRIVEIS SCRIPTS GRATUITOS COMO A SP_WHOISACTIVE, -- E AS SP_BLITZ que nos ajuda a monitorar o ambiente e a resolver problemas, -- AGORA É HORA DE VERMOS ALGUMAS FERRAMENTAS NATIVAS DO SQL SERVER. -- ACTIVITY MONITOR /*======= O Activity Monitor exibe algumas informações sobre os processos do SQL Server e como esses processos afetam a instância atual do SQL Server. INFORMAÇÕES: Visão geral dos processos, Waits, IOs, consultas que mais consumiram recursos recentes e consultas que mais consomem recursos ativas. Em alguns indicadores, como CPU, Waits, ... o Tempo é medido em microsegundo (ms/sec). 1000 microsegundos equivale a 1 segundo. % Processor Time - é a porcentagem de tempo que os processadores gastam para executar threads que não estão ociosos. - Exemplo: 80% do tempo total dos processadores do servidor, naquele momento, está sendo consumido para executar as threads (RUNNING). As threads são os operadores usadas para executar as queries do sql server. - Quase sempre este valor é MENOR que o uso da CPU pelo TASK MANAGER. Um valor baixo aqui (exemplo, menor que 50%), não quer dizer necessarimente que o servidor não esteja sobrecarregado. Waiting Tasks - é o número de tarefas que estão esperando que o processador, IO ou memória sejam liberados para que as tarefas possam ser processadas Database I/O - é a taxa de transferência de dados em MB/s da memória para o disco, disco para memória ou disco para disco Batch Requests/sec - é o número de lotes do SQL Server recebidos pela instância em 1 segundo =========*/ -- VAMOS AOS LAB -- Coloque para rodar esta querie em 1 sessão e abra o Activity Monitor USE AuditoriaDBA GO SELECT * FROM NOindex GO 10 -- OBSERVAÇÕES: -- 1. Repare o tipo de wait que está sendo gerado, o que quer dizer Network IO? -- 2. Repare o plan de execução em tempo real -- DICA: Repare o percentual da CPU que está sendo consumida pelo servidor frente ao uso da cpu total (Task Manager) e veja do -- total, quanto o SSMS está ocupando da cpu do servidor. Faça o mesmo teste com o SSMS de fora da VM. -- Evite usar o SSMS dentro do servidor, até mesmo na hora de abrir o SSMS gera uma carga na CPU. -- Vamos abrir uma nova sessão e rodar este codigo sql ao mesmo tempo: Declare @Cont Int = 1 While @Cont <=333333 Begin Insert Into NOCompress (Numero,nomecliente,endereco, cidade, estado, pais ) Values (Rand()*100000000000,'Pedro','rua teste 123','vitoria','espirito santo','brasil') Insert Into NOCompress (Numero,nomecliente,endereco, cidade, estado, pais) Values (Rand()*100000000000,'maria','rua teste 789','vila nova de gaia','porto','portugal') Insert Into NOCompress (Numero,nomecliente,endereco, cidade, estado, pais ) Values (Rand()*100000000000,'jose','rua teste 456','rio de janeiro','rio de janeiro','brasil') Set @Cont +=1 End Go ---------- FIM LAB