Banco de Dados

5 jan, 2010

Performance Data Warehouse

Publicidade

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 é que 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 prática, é 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.

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.

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.

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.

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.

Na próxima tela, vamos deixar as opções padrão e avançar. Ao fazer
isso, abrirá 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? Essas
perguntas são respondidas 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.

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.

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 está programado para
acontecer em determinado período, mas 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.

Conclusão

O SQL Server 2008 traz novas ferramentas para análise e monitoramento de ajustes de performance. Esse tipo de monitoramento em versões anteriores era apenas feito através de ferramentas de terceiros.

Espero que esse artigo ajude a iniciar boas análises e grandes descobertas.