Série – Query Performance Insights no Azure SQL Database – Parte 1

Posted on junho 21, 2017

2


Introdução

Realizar o monitoramento de qualquer banco de dados SQL Server não é e nunca foi uma rotina fácil, durante anos nós administradores de banco de dados sofremos para conseguir reunir informações de coleta, relatórios, estatísticas dentre outras formas para poder ter uma visão do nosso ambiente como um todo. Com o Microsoft Azure em nosso alcance, agora muitas rotinas que eram gerenciadas por nós passaram a ser automatizadas, o que traz diversas vantagens para nosso trabalho do dia a dia além de facilitar a descoberta da causa raiz dos problema.

Query Performance Insights

Com a chegada do SQL Server 2016, o recurso chamado Query Store foi disponibilizado, agora temos um ponto unificado para verificarmos problemas de performance, planos em regressão, histórico de consultas e navegar nos problemas mais internos e difíceis de serem analisados com poucos passos, como resultado, o Azure SQL Database aprimorou ainda mais essa experiência para trazer algo nunca visto em nenhum banco de dados, agora tarefas que custavam horas e que demandavam tempo, podem ser facilmente analisados e consertados utilizando o Query Performance Insights.

O QPI (Query Performance Insights) permite que você economize seu tempo de análise deixando que sua AI (Inteligência Artificial) faça esse trabalho, integrado  com o Query Store, o serviço monitora seus Azure SQL Databases e a partir dos problemas encontrados realiza recomendações e sugestões de melhorias além de permitir o que chamamos de Automatic Tuning, iremos falar sobre ele nessa série.

Com o Query Performance Insights você pode:

– Analizar a Utilização dos Database Transaction Units (DTU) do Banco de Dados.

– Top Queries por Recurso e Utilização.

– Drill Down nos Detalhes das Consultas e Histórico de Utilização.

– Acesso as Anotações Realizadas pela AI do Sistema.

Pré-Requisitos e Configuração

Para poder ter acesso ao QPI, você precisa ter um banco de dados no Azure SQL Database e ter o Query Store habilitado, como anunciado no dia 7 de dezembro de 2016, todos os Azure SQL Databases terão o Query Store por padrão sem necessidade de serem habilitados – https://azure.microsoft.com/en-us/blog/query-store-on-is-the-new-default-for-azure-sql-database/?v=17.23h , caso você tenha um banco de dado anterior a essa data, o Azure Portal irá mostrar um prompt para que você habilite o mesmo no seu banco de dados.

Utilizando o QPI – Query Performance Insights

Com o Portal do Azure aberto, acesse seu Azure SQL Database e procure na blade de configuração por – Query Performance Insight

21-06-2017-05-44-07

(Figura 1 – Blade de Configuração do Query Performance Insight no Azure SQL Database.)

Acessando o QPI, você terá uma visualização dividida em 3 momentos

1. Resource Consuming Queries

2. Long Running Queries

3. Custom

21-06-2017-05-44-07

(Figura 2 – Visualizações Disponíveis no Query Performance Insight.)

Normalmente, a visualização Custom é a mais interessante porque possibilita a pesquisa por timeframe de mês, semanas, dias e horas. Selecionando o tipo de métrica por duração é possível ver a quantidade de tempo utilizado por cada consulta assim como informações de quantidade de recursos utilizados, tempo de execução e uso de I/O de dado e log.

21-06-2017-05-44-07

(Figura 3 – Customização para Visualização das Informações do QPI.)

Em seguir, iremos entrar dentro das consultas para entender quais informações são coletadas e geradas dentro do Query Performance Insights.