Performance Data Warehouse

O Performance Data Warehouse que também é conhecido como Performance Studio é um recurso implementado no SQL Server 2008 que permite a coleta de informações para estudo e análise de performance.

Esse novo recurso é baseado em uma feature chamada de Data Collector e está sobre dois pilares:

  • SSIS (SQL Server Integration Services)
  • SQL Server Agent

Toda a coleta de dados feita é armazenada em um database previamente configurado, e a coleta pode ser feita através dos tipos de coletores abaixo:

  • T-SQL Query
  • SQL Trace
  • Performance Counter
  • Query Activity

O Data Collector gera dinamicamente os resultados gravando em tabelas de output, quando os resultados forem gerados a partir de query devemos ter o cuidado de não incluir na consulta campos com nomes como snapshot_time, snapshot_id ou database_name, isso porque são nomes reservados do Data Collector.

Outra consideração é campos do tipo XML, Text, Image, nText não serão incluídos no retorno e não serão coletados.

As DMVs para consultar o Query Activity Collector são:

    • Sys.dm_exec_requests
    • Sys.dm_exec_sessions
    • Sys.dm_exec_query_stats

Para utilizarmos esse recurso precisamos seguir os passos que eu vou descrever abaixo:

    • Habilitar o Data Collection
    • Configurar o banco de dados que gravará a coleta
    • E analisar os dados
    • Vejamos isso na pratica é muito fácil.

Configurando o Data Collector

No Manegement Studio, abra o Object Explorer e expanda a guia Management, lá haverá um item chamado Data Collection, para habilitar basta clicar com o botão direito e clicar na opção Enable Data Collection

clip_image002

Acesse o Data Collection novamente com o botão direito do mouse e clique na opção Configure Management Data Warehouse, isso abrirá um wizard, basta avançar na tela de Welcome e na próxima tela marcar Create or upgrade a management data warehouse e clique em avançar.

clip_image004

Na próxima tela iremos definir os dados de gravação da coleta, no caso o database. Para isso clique em New, isso fará com que abra a tela de New Database crie um banco de dados chamado coleta, clique em OK, e voltaremos ao Wizard do Data Collection e é só avançar para continuarmos.

clip_image006

Map Logins and Users é onde selecionaremos os usuários e os logins que serão usados para coleta. Nesse caso selecione o usuário que corresponde ao SQL Server Service e a role mdw_admin. Após configurar essa etapa basta avançar e concluir.

clip_image008

Configurando o Management Data Warehouse

Agora que temos o Data Collector configurado, vamos configurar o Management Data Warehouse, clique com o botão direito sobre o item Data Collection e selecione a opção Configure Management Data Warehouse, selecione Set up data collection e clique em avançar.

clip_image010

Na próxima tela, vamos deixar as opções padrão e avançar, ao fazer isso, abrira a tela de autenticação do SQL Server confirme as credenciais e clique em finalizar.

Agendando a coleta

As coletas não precisam ser feitas sempre? Ou precisam? Essa pergunta é respondida apenas com estudo de caso da situação, algumas vezes, na maior parte dos casos vamos coletar apenas em períodos em que uma determinada situação ocorre.

Para realizarmos o agendamento de um item, como exemplo a utilização de disco, vamos expandir o item System Data Collection Sets e clicar sobre Disk Usage com o botão direito e selecionar propriedades.

clip_image011

clip_image013

Na tela de propriedades, sobre a opção Data collection and upload temos o Schedule, clique em New. Isso abrirá a tela de New Job Schedule e é só preencher o nome e o período do agendamento. Veja a imagem abaixo, o agendamento foi feito para acontecer todas as segundas-feiras , quartas-feiras, sextas-feiras e sábados às 13 horas.

clip_image015

Importante lembrar que o agendamento só irá funcionar se o serviço do SQL Server Agent for inicializado.

Relatório

Ok, temos um coletor de informações que esta programado para acontecer em determinado período, mas e como vamos visualizar essas informações?

Simples, na opção Data Collection clicamos com o botão direito do mouse e sobre o item Reports, abrirá o item Management Data Warehouse e nessa opção encontraremos o item Disk Usage Summary.

clip_image017

clip_image019

Espero que esse post tenha sido proveitoso a todos.

Abraço, Rodrigo

Autor: SQLCrespi

Rodrigo Crespi é MVP Data Platform, MCT, MCSE, MCSA, MCIT, MCDBA e MCP em SQL Server, possuí outras certificações em .NET Framework, Dynamics CRM e etc. Iniciou trabalhando com SQL Server na versão 6.5 na época como desenvolvedor, logo direcionou a sua carreira para a área de administração de bancos de dados. Atualmente é Sócio da CrespiDB – Soluções em Plataformas de Dados, além de professor universitário na Uniftec – Caxias do Sul Autor de diversos artigos publicados em sites e revistas sobre SQL Server e engenharia de software, mantem o canal SQLCrespi no Youtube, o blog SQLCrespi, além de ser dedicado ao SQL Server RS PASS Chapter Leader do grupo de profissionais em SQL Server do Rio Grande do Sul.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s