Introdução ao Data Collection no Microsoft SQL Server 2008 – Parte III.

Olá pessoal, bom dia.

Conforme o prometido, estou de volta para continuar com a série de artigos sobre o Data Collection, nesta terceira parte, vou destacar os elementos de processamento e tempo de execução envolvido por cada elemento utilizado pelo DC.

Desejo uma boa leitura.

———————————————————————————————————————————————————

Processamento de tempo de execução

A figura 4 a seguir fornece uma exibição de alto padrão e simplificada do processamento de tempo de execução quando um
conjunto de coleta é iniciado e os dados são coletados e carregados. Apesar desta ilustração mostrar a coleta de dados e o carregamento de dados como dois processos de trabalho separados, eles também podem ocorrer como um único trabalho, como mostram os exemplos anteriores.

Figura 4. Processamento quando um conjunto de coleta é iniciado, dados coletados e carregados.

 

Coleta de dados

Na figura 4 apresentada anteriormente, as etapas do processo de coleta de dados têm o prefixo “C.” As etapas de processamento são as seguintes:

1. Um procedimento armazenado inicia o conjunto de coleta. O estado do conjunto de coleta no MSDB é alterado para em Execução. Esta mudança de estado habilita os trabalhos do SQL Server Agent vinculados ao conjunto de coleta;

2. O SQL Server Agent inicia o trabalho conforme segue:

  • Se o modo do conjunto de coleta estiver definido como armazenado em cache, o trabalho de coleta será iniciado imediatamente; e
  • Se o modo do conjunto de coleta estiver definido como não armazenado em cache, o trabalho de coleta será iniciado de acordo com a agenda configurada.

3. Quando um trabalho é iniciado, ele gera um processo para executar o componente de tempo de execução do coletor de dados (Dcexec.exe) e o informa para executar o pacote de coleta associado ao conjunto de coleta;

4. Quando o DCexec.exe é iniciado, ele lê a configuração do coletor de dados no MSDB para localizar o modo de coleta a ser usado: armazenado em cache ou não armazenado em cache;

5. O componente de tempo de execução do coletor de dados utiliza o componente de tempo de execução do SSIS
para executar os pacotes de coleta definidos para o conjunto de coleta; e

6. Os pacotes de coleta são executados até receberem um sinal para serem interrompidos ou até atingirem um ponto de extremidade predefinido. Os pacotes de coleta salvam os dados coletados em uma área de preparação até serem carregados.

O design do tipo de coletor para o conjunto de coleta determina o tipo de área de preparação utilizado. A área de preparação pode ser uma área de memória compartilhada, arquivos temporários ou uma fila de mensagens.

Carregamento de dados

Na ilustração anterior, as etapas do processo de carregamento de dados têm o prefixo “U”. As etapas de processamento são as seguintes:

1. Quando um carregamento é necessário, um procedimento armazenado inicia o trabalho que é tratado pelo SQL Server Agent;

2.  O SQL Server Agent inicia o trabalho conforme segue:

  • Se o usuário enviar uma solicitação de carregamento sob demanda, o trabalho de carregamento será iniciado imediatamente;
  • Se não houver nenhuma solicitação de carregamento sob demanda, o trabalho de carregamento será iniciado de acordo com o cronograma configurado para o conjunto de coleta.

3. Quando um trabalho é iniciado, ele gera um processo para executar o componente de tempo de execução do coletor
de dados (DCexec.exe) e o avisa para executar o pacote de carregamento associado ao conjunto de coleta;

4. Quando o Dcexec.exe é iniciado, ele lê a configuração do coletor de dados no MSDB para descobrir como tratar o carregamento (por exemplo, a cadeia de conexão para o data warehouse de gerenciamento ou qualquer processamento de dados necessário);

5. O componente de tempo de execução do coletor de dados utiliza o componente de tempo de execução SSIS para executar os pacotes de carregamento definidos para o conjunto de coleta;

6. O pacote de carregamento lê os dados que são retidos na área de preparação e efetua as transformações necessárias, como normalização ou amostragem. Quando as transformações estiverem finalizadas, o pacote de carregamento se conecta ao data warehouse de gerenciamento e insere os dados;

7. Depois que o carregamento estiver concluído, o processo termina mas o estado do conjunto de coleta permanece inalterado. O carregamento seguinte é iniciado de acordo com a agenda do conjunto de coleta.

CONJUNTOS DE COLETA DE DADOS NO SISTEMA

São instalados três conjuntos de coleta de dados do Sistema durante o processo de Instalação do SQL Server 2008, e podem ser configurados para se adequarem aos requisitos de monitoramento do usuário, mas não podem ser excluídos. Os conjuntos consistem no seguinte:

Uso do Disco: Coleta dados sobre o disco e o uso de log de todos os bancos de dados instalados no sistema;

Atividade do servidor: Coleta estatísticas de uso de recursos e dados de desempenho do servidor e do SQL Server; e

Estatísticas de consulta: Coleta estatísticas de consulta, texto de consulta individual, planos de consulta e consultas específicas.

Conjunto de coleta de uso de disco

Controla o aumento do banco de dados e dos arquivos de log e fornece estatísticas relacionadas a arquivos, como o aumento médio (em megabytes) diário. O conjunto de coleta tem dois itens de coleta, Uso do Disco – Arquivos de Dados e Uso do Disco – Arquivos de Log. Os dois usam o tipo de coletor de Consultas T-SQL Genérico. O conjunto de coleta reúne os seguintes dados:

  • Instantâneos de tamanhos de arquivos de dados obtidos das exibições sys.partitions e sys.allocation_units;
  • Instantâneos de tamanhos de arquivos de log obtidos do comando DBCC SQLPERF (LOGSPACE); e Instantâneos de estatísticas de E/S da função sys.dm_io_virtual_file_stats.

A tabela 1 a seguir fornecem informações detalhadas sobre o conjunto de coleta Uso do Disco e seus itens de coleta.

Nome do
conjunto de coleta

Uso do Disco

Modo de  coleta Não armazenado em cache
Freqüência da agenda de carregamento A cada 6 horas
Retenção de dados 730 dias
Itens de coleta Uso do Disco – Arquivos de Dados

Uso do Disco – Arquivos de Log

Tabela 1. Informações sobre o conjunto de dados coletados através da Coleta Uso do Disco.

CONJUNTO DE COLETA DE ATIVIDADE DO SERVIDOR

Este conjunto fornece uma visão geral da atividade, utilização de recursos e contenção de recursos do SQL Server. O conjunto de coleta também fornece uma exibição encapsulada da utilização geral de recursos do sistema, permitindo a um usuário determinar se os problemas de desempenho estão relacionados às atividades fora do escopo do SQL Server. Esse conjunto de coleta reúne exemplos de dados das exibições de gerenciamento dinâmico a seguir:

  • sys.dm_os_wait_stats – Retorna informações sobre todos os processos aguardando execução. Você pode usar esta dynamic manegement view para diagnosticar problemas de desempenho com o SQL Server e também com consultas específicas e lotes;
  • sys.dm_os_latch_stats – Retorna informações sobre todas as esperas travadas aguardando execução, organizado
    pela classe;

  • sys.dm_os_schedulers – Retorna uma linha por agendamento no SQL Server onde cada agendamento é mapeado para um processador individual; 

  • sys.dm_exec_session –  Retorna uma linha por sessão autenticada no SQL Server. sys.dm_exec_sessions é um modo de exibição de escopo de servidor que mostra informações sobre todas as tarefas internas e conexões de usuário ativo. Esta
    informação inclui a versão do cliente, nome do programa cliente, tempo de logon do cliente, usuário de login, configuração de sessão atual e mais. Use sys.dm_exec_sessions para exibir pela primeira vez a carga do sistema atual e para identificar uma sessão de interesse e, em seguida, saiba mais informações sobre a sessão usando outras exibições de gerenciamento dinâmico ou funções de gerenciamento dinâmico; 

  • sys.dm_exec_requests – Retorna informações sobre cada solicitação que está em execução no SQL Server;

 

  • sys.dm_os_waiting_tasks – Retorna informações sobre a fila de espera das tarefas que estão à espera de algum
    recurso;

 

  • sys.dm_os_process_memory  – Apresenta informações sobre as alocações de memória que são atribuídas ao espaço de
    processo do SQL Server são controladas através de interfaces que permitem para acompanhamento e contabilização dessas alocações. No entanto, alocações de memória podem ser executadas no espaço de endereço do SQL Server que ignora as
    rotinas de gestão de memória interna. Valores são obtidos por meio de chamadas para o sistema operacional básico. Eles não são manipulados por métodos internos para o SQL Server, exceto quando ele ajusta para alocações de página bloqueada ou grandes; e 

  • sys.dm_os_memory_nodes – Apresenta informações sobre alocações  internas que usam o Gerenciador de memória do SQL Server.

 

Adicionalmente, exemplos de dados são coletados de vários sistemas e de contadores de desempenho do SQL Server. O conjunto de coleta de Atividade do Servidor fornece uma visão geral do sistema em termos de utilização de recursos e de afunilamentos de recursos.
O uso de recursos é rastreado em quatro áreas gerais: CPU, E/S de disco, memória e rede. A sys.dm_exec_sessions, sys.dm_exec_requests e sys.dm_os_waiting_tasks permitem a correlação da atividade do sistema com os afunilamentos de recursos e com problemas de bloqueio. Executado por conta própria, esse conjunto de coleta permite associar os afunilamentos de recursos a uma sessão bloqueada e mostrar cadeias de bloqueio no nível da sessão.

Embora os textos de consulta não sejam coletados, o usuário pode usar as informações de sql_handle e plan_handle coletadas pelo conjunto de coleta Estatísticas de Consulta para fazer busca detalhada abaixo do nível da sessão.

A tabela 2 a seguir fornecem informações detalhadas sobre o conjunto de coleta de Atividade do Servidor e seus itens de coleta.

Nome do conjunto de coleta

Atividade do servidor

Modo de coleta Em cache
Freqüência da agenda de carregamento A cada 15 minutos
Retenção de dados 14 dias
Itens de coleta Instantâneos DMV.

Contadores de Desempenho.

Tabela 2. Informações sobre o conjunto de dados coletados através da Atividade do servidor.

Bom pessoal, vou encerrar aqui esta terceira parte, estamos chegando para parte final de artigo, na próxima parte, vou destacar os recursos de CONJUNTO DE COLETA DE ESTATÍSTICAS DE CONSULTA.

Agradeço mais uma vez a sua visita, vou ficando por aqui, nos vemos em breve.

Até mais.

Este post foi publicado em Dicas, VIRTUAL PASS BR e marcado com a tag , , , , , , , , , , , , em por .

Sobre Junior Galvão - MVP

Profissional com vasta experiência na área de Tecnologia da Informação e soluções Microsoft. Mestre em Ciências Ambientes na linha de pesquisa em Geoprocessamento e Modelagem Matemática pela Universidade Estadual Paulista "Júlio de Mesquita Filho". Pós-Graduado no Curso de Gestão e Engenharia de Processos para Desenvolvimento de Software com RUP na Faculdade FIAP – Faculdade de Informática e Administração Paulista de São Paulo. Graduado no Curso Superior em Gestão da Tecnologia de Sistemas de Informação pela Uninove – Campus São Roque. Formação MCDBA Microsoft, autor de artigos acadêmicos e profissionais postados em Revistas, Instituições de Ensino e WebSistes. Meu primeiro contato com tecnologia ocorreu em 1994 após meus pais comprarem nosso primeiro computador, ano em que as portas para este fantástico mundo se abriram. Neste mesmo ano, comecei o de Processamento de Dados, naquele momento a palavra TI não existia, na verdade a Tecnologia da Informação era conhecida como Computação ou Informática, foi assim que tudo começou e desde então não parei mais, continuando nesta longa estrada até hoje. Desde 2001 tenho atuado como Database Administrator – Administrador de Banco de Dados – SQL Server em tarefas de Administração, Gerenciamento, Migração de Servidores e Bancos de Dados, Estratégias de Backup/Restauração, Replicação, LogShipping, Implantação de ERPs que utilizam bancos SQL Server, Desenvolvimento de Funções, Stored Procedure, entre outros recursos. Desde 2008 exerço a função de Professor Universitário, para as disciplinas de Banco de Dados, Administração, Modelagem de Banco de Dados, Programação em Banco de Dados, Sistemas Operacionais, Análise e Projetos de Sistemas, entre outras. Experiência na Coordenação de Projetos de Alta Disponibilidade de Dados, utilizando Database Mirroring, Replicação Transacional e Merge, Log Shipping, etc. Trabalhei entre 2011 e 2017 como Administrador de Banco de Dados e Coordenador de TI no FIT – Instituto de Tecnologia da Flextronics, atualmente exerço a função de Professor Universitário na FATEC São Roque. CTO da Galvão Tecnologia, consultoria especializada em Gestão de TI, Administração de Servidores Windows Server, Bancos de Dados Microsoft SQL Server e Virtualização. Possuo titulação Oficial Microsoft MVP e reconhecimentos: MCC, MSTC, MIE e MTAC.