Otimização de banco de dados sql server

Você é um administrador de banco de dados e sua empresa tem um banco de dado SQL Server, porém seu SQL Server está com problemas de desempenho e você como consultor DBA não tem certeza de quais “queries” estão provocando o problema.

Uma consultoria em banco de dados, pode ajudá-lo rapidamente e sem grandes investimentos a resolver esse problema, mas antes de buscar uma empresa de TI parceira, você pode tentar encontrar o problema com a performance do banco de dados.

Você pode estar um pouco perdido, não saber se existe alguma query oculta que está deixando seu SQL Server e aplicações com lentidão.

Você busca uma ferramenta que localize as piores query no cache do SQL Server?

Geralmente, queries que consume muito tempo e deixam o banco de dados SQL Server com baixo desempenho, são localizadas no cache do SQL Server. Podem ser relatórios, ETL, ou outras consultas que estão sendo executadas por muito tempo. Ou mesmo, alguém esteja procurando por todos os usuários cujos nomes são LIKE ‘%%’. De qualquer maneira, a lentidão no banco de dados deve ser investigada, principalmente se os usuários da aplicação estão sendo afetados pelo desempenho do SQL Server.

Em alguns casos, esse é o tempo total que a query levou para ser executada e, em outros, é o tempo total de CPU que a qurey levou para ser executada. 

Queries com alto nível max_elapsed_time levam muito tempo para serem executadas, elas podem ser queries lentas encadeadas. 

As consultas com um alto max_worker_time(tempo de CPU) podem ser queries paralelas.

7 Pontos para Observar em Serviços Gerenciados de Banco de Dados

Elimine riscos com os 7 pontos que você deve observar em seu Fornecedor!

Como resolver o problema

Analise o que está ocorrendo com seu banco SQL Server. A query abaixo identifica individualmente as queries que estão com tempo de execução elevado. Com essa informação em mão, agora você pode apresentar ao gestor de TI e a equipe, assim vocês poderão tratar as queries da melhor forma.

h

Código

SELECT  st.text,

qp.query_plan,

qs.*

FROM    (

SELECT  TOP 50 *

FROM    sys.dm_exec_query_stats

ORDER BY total_worker_time DESC

) AS qs

CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) AS st

CROSS APPLY sys.dm_exec_query_plan(qs.plan_handle) AS qp

WHERE qs.max_worker_time > 300

OR qs.max_elapsed_time > 300

  • Continua com problemas no banco de dados?
  • Precisa de uma solução de gestão de banco de dados?

Acompanhe a Tripletech nas redes sociais: