1 / 15

Monitoramento SQL Server

Monitoramento SQL Server. Lílian Simão Oliveira. Ferramentas que auxiliam o monitoramento.

zeheb
Download Presentation

Monitoramento SQL Server

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Monitoramento SQL Server LílianSimão Oliveira

  2. Ferramentasqueauxiliam o monitoramento • O SQL Server Management Studio forneceváriasferramentasparaauxiliar o processo de desempenho de aplicação. As consultas e osprocedimentosarmazenadospodem ser desenvolvidos e testadosusando o Query Editor integrado, quesubstitui o SQL Server Query Analyzer. • Maisanálisespodem ser feitasusando o SQL Server Profiler. • As recomendações de ajuste de banco de dados sãofornecidasporumaterceiraferramenta, o Database Tuning Advisor.

  3. Query Editor • Forneceuma interface gráfica com o usuário simples paraexecutarconsultas SQL e verosresultados. • Oferece, também, umarepresentaçãográfica do showplan, as etapasescolhidaspelootimizadorpara a execução das consultas.

  4. Query Editor • Um administradorpodeusarpara: • Analisarconsultas: O query editor podemostrar um plano de execuçãográficoou textual paraqualquerconsulta, bemcomoexibirestatísticasreferentesao tempo e recursosnecessáriosparaexecutarqualquerconsulta • Formatarconsultas SQL • Usarmodelosparaprocedimentosarmazenados, funções e instruções SQL básicas

  5. SQL Profiler • É um utilitáriográficoquepermitemonitorar e registrar atividades de BD do SQL Server. • Podeexibirtodas as atividades do servidorem tempo real, oupodecriarfiltrosquefocalizam as ações de determinadosusuários, aplicaçõesoutipos de comandos. • Podeexibir dados de desempenhoindicando o tempo que a consultalevoupara ser executada, quanta CPU e E/S foramnecessárias e o plano de execuçãoque a consultausou.

  6. SQL Profiler • Permitemonitorarcadainstruçãoexecutadacomo parte de um procedimentoarmazenado, cadaoperação de modificação de dados, cadabloqueioadquiridoouliberado, oucadacorrência de um arquivo de B.D. crescendo automaticamente. • O SQL Server divide a funcionalidade de rastreamentoem 2 componentes: • Do cliente – o SQL Profile suportaesserastreamento • Do servidor – a ferramenta de rastreamento SQL

  7. SQL Profiler A Figura acima mostra uma sessão do profiler com o banco de dados usado no cluster do asp.net. Ao selecionarmos um item podemos ver também o texto completo, como foi feito para a storedprocedurecs_forums_Post. Há colunas adicionais para CPU, Reads, Writes e Duration.

  8. Query Analyzer • Resultados do Query Analyzer

  9. Query Analyzer • Após obter a habilidade básica para examinar e extrair profiles de banco de dados, deve-se saber o que acontece a seguir. • O próximo passo é examinar as consultas com o QueryAnalyzer, outra ferramenta útil para qualquer desenvolvedor que trabalha com o SQL Server. Assim como o Profiler é útil para obter as 50,000 visões básicas do sistema, o QueryAnalyzer é o microscópio para analisar os detalhes. Com o QueryAnalyzer, podemos executar consultas e storedprocedures e obter uma exibição visual do plano de execução do SQL Server.

  10. Query Analyzer • Da mesma forma que o Profiler, o QueryAnalyzer é achado na pasta SQL Server no menu AllProgram. Também, será necessário completar o Connect para o diálogo SQL Server. Uma vez conectado, podemos passar para o nosso banco de dados, digitando o seguinte: • use [databasename] A seguir, clicamos no botão play na barra de menu (ou realçamos o texto e pressionamos F5). Qualquer opção executará o SQL realçado. • Em Profiler identificamos que a storedprocedurecs_Sections_Get está lendo um volume extraordinariamente grande de dados - acima de 11,000 leituras! Podemos copiar o SQL trace do Profiler para o QueryAnalyzer e veremos então exatamente o que aquela consulta em particular está fazendo.

  11. Analisandoumaconsulta • Para rodar a consulta, primeiro colamos o conteúdo em QueryAnalyzer e a seguir selecionamos Query | Show ExecutionPlan na barra de ferramentas. Em seguida, realçamos o SQL e pressionamos F5 para executá-lo..

  12. Analisandoumaconsulta • Logo abaixo da consulta SQL que foi executada encontramos a grade de resultados que mostra o que foi retornado pela consulta. Neste caso foram retornados dois resultsets. O primeiro é uma lista de Sections (forums) e o segundo é um conjunto de permissões. O Community Server usa um sistema de permissões role-based para controlar o que os usuários podem ou não fazer dentro do sistema. Sempre que uma lista de Sections é recuperada, o sistema também refresca a lista de permissões para as mesmas. • No canto inferior direito do QueryAnalyzer vemos o texto: "5430 rows". Isto indica o número total de linhas retornadas. Neste procedimento, havia uma falha na lógica de permissões que faria o sistema retornar uma lista equivalente à soma do total dos roles multiplicada pelo total de sections. No caso de forums.asp.net, há 29 roles únicos e 181 sections, o que equivale a 5,249 linhas. Somando as 181 linhas retornadas pelo primeiro resultset teremos um total geral de 5,430 linhas retornadas. • Obviamente são muitas linhas. Na realidade, usando o Profiler e o QueryAnalyzer, esta Query particular foi otimizada para retornar menos de 250 registros - reduzindo a duração total para menos de 100 ms. • Além de rodar consultas, o QueryAnalyzer nos permite analisá-las. Verificamos que a exibição do plano de execução foi habilitada antes de executar o SQL. O plano provê um diagrama visual de como SQL Server está executando a consulta, que índices utiliza e outros dados que podem nos ajudar a otimizar índices ou outros dados requeridos pelo SQL Server para aumentar o desempenho das consultas.

  13. A Figura ao lado mostra cada consulta executada, o plano de execução, os índices usados, os joins e o volume de dados retornado em cada operação. Até mesmo as setas entre cada item têm significado: a espessura da seta é uma indicação visual de quantos dados foram retornados pela operação; isto é, uma consulta mal ajustada, teria muitas setas grossas, indicando operações que estão retornando provavelmente muitos dados.

  14. O Application Center Test, o SQL Server Profiler e o SQL Server QueryAnalyzer são algumas das ferramentas mais poderosas para fazer o ajuste fino do desempenho de aplicações ASP.NET ou SQL Server. Estas ferramentas não só deveriam fazer parte do "cinto de ferramenta" dos desenvolvedores, como também deveriam ser usadas habitualmente para inspecionar o desempenho global das aplicações. Freqüentemente os desenvolvedores estão preocupados em otimizar rotinas dentro do código, no entanto estariam utilizando melhor seu tempo, dedicando-se a eliminar ou otimizar comunicações cross-process, tais como chamadas a banco de dados. • Fonte: http://msdn.microsoft.com/pt-br/library/cc580638.aspx

  15. SQL Monitor e Performace Monitor Fonte: http://sqlbrasil.blogspot.com/2010/02/video-aula-utilizando-sql-profiler-e-o.html

More Related