Coleta de dados

Aplica-se a:SQL Server

O Coletor de Dados é um componente do SQL Server que coleta diferentes conjuntos de dados. A coleta de dados é executada constantemente ou em uma agenda definida pelo usuário. O coletor de dados armazena os dados coletados em um banco de dados relacional conhecido como data warehouse de gerenciamento.

O que é o coletor de dados?

O coletor de dados é um componente importante da plataforma de coleta de dados para o SQL Server e para as ferramentas fornecidas pelo SQL Server. O coletor de dados fornece um ponto central para coleta de dados em seus servidores de banco de dados e aplicativos. Este ponto de coleção pode obter dados de diversas origens e não está limitado a dados de desempenho, ao contrário do Rastreamento do SQL.

O coletor de dados permite ajustar o escopo da coleta de dados para se adéquem a seus ambientes de teste e de produção. O coletor de dados também usa o data warehouse, um banco de dados relacional que permite gerenciar os dados coletados configurando diferentes períodos de retenção dos dados.

O coletor de dados oferece suporte ao ajuste dinâmico para coleta de dados e é extensível via API. Para obter mais informações, consulte Data Collector Programming.

A ilustração a seguir mostra como o coletor de dados se adapta à estratégia geral de coleta e gerenciamento de dados no SQL Server.

Diagram of the data collector's role in data management.

Conceitos

O coletor de dados é integrado ao SQL Server Agent e ao Integration Services, e os utiliza extensivamente. Antes de trabalhar com o coletor de dados, você precisa entender determinados conceitos relacionados a cada um desses componentes do SQL Server.

O SQL Server Agent é usado para programar e executar trabalhos de coleção. Você precisa entender os seguintes conceitos:

  • Job
  • Etapa de trabalho
  • Agenda do trabalho
  • Subsistema
  • Contas Proxy

Para obter mais informações, consulte Tarefas de administração automatizadas (SQL Server Agent).

O Integration Services (SSIS) é usado para executar pacotes que coletam dados de provedores de dados individuais. Você deve estar familiarizado com as seguintes ferramentas e conceitos do SSIS:

  • Pacote SSIS
  • Configuração do pacote SSIS

Para obter mais informações, confira Pacotes do SSIS (Integration Services).

Terminologia

Termo Descrição
Target (destino) Uma instância do Mecanismo de Banco de Dados em uma edição do SQL Server que oferece suporte à Coleta de dados. Para obter mais informações sobre as edições com suporte, confira a seção “Gerenciamento” de Edições e recursos com suporte do SQL Server 2022.

Uma raiz de destino define uma subárvore na hierarquia de destino. Um conjunto de destinos é o grupo de destinos resultante da aplicação de um filtro a uma subárvore definida por uma raiz de destino. Uma raiz de destino pode ser um banco de dados, uma instância do SQL Server ou uma instância do computador.
Tipo de destino Tipo de destino que tem um determinado comportamento e características. Por exemplo, um destino de instância do SQL Server tem características diferentes das de um destino de banco de dados do SQL Server.
Provedor de dados Uma fonte de dados conhecida, específica para um tipo de destino, que fornece dados para um tipo de coletor.
Tipo de coletor Um delimitador lógico que envolve os pacotes do SSIS e fornece o mecanismo real para coletar dados e carregá-los no data warehouse de gerenciamento.
Item da coleção Uma instância de um tipo de coletor. Um item de coleta é criado com um conjunto específico de propriedades de entrada e uma frequência de coleta.
Conjunto de coleta Um grupo de itens de coleta. Um conjunto de coleta é uma unidade de coleta de dados com o qual um usuário pode interagir através da interface do usuário.
Modo de coleta A maneira pela qual os dados são coletados e armazenados. O modo de coleta pode ser em cache ou não cache. O modo cache dá suporte à coleta contínua, enquanto que o modo não cache destina-se à coleta sob demanda ou a um instantâneo de coleta.
Data warehouse de gerenciamento Um banco de dados relacional usado para armazenar os dados coletados.

A ilustração a seguir mostra as dependências e as relações entre os componentes do coletor de dados.

Diagram of data collector functional dependencies.

Como mostrado na ilustração, o provedor de dados é externo ao coletor de dados e, por definição, tem uma relação implícita com o destino. O provedor de dados é específico para um destino próprio (por exemplo, um serviço SQL Server, como o mecanismo relacional) e disponibiliza dados como exibições do sistema no SQL Server, contadores do monitor de desempenho e provedores WMI, que podem ser consumidos pelo coletor de dados.

O tipo de coletor é específico a um tipo de destino, baseado na associação lógica de um provedor de dados a um tipo de destino. O tipo de coletor define como os dados são coletados de um provedor de dados específico (usando parâmetros esquematizados) e especifica o esquema de armazenamento de dados. São necessários o esquema de provedor de dados e o esquema de armazenamento de dados para armazenar os dados coletados. O tipo de coletor também fornece o local do data warehouse de gerenciamento, que pode ser no computador que está executando a coleta de dados ou em um computador diferente.

Um item de coleta, mostrado na ilustração, é uma instância de um tipo de coletor específico, com parâmetros de entrada, como o esquema XML do tipo de coletor. Todos os itens de coleta devem funcionar na mesma raiz de destino ou em uma raiz de destino vazia. Isso habilita o coletor de dados a combinar tipos de coletor do sistema operacional ou de uma raiz de destino específica, mas não de raízes de destino diferentes.

Um item de coleta tem uma frequência de coleta definida que determina a frequência com que os instantâneos de valores são feitos. Embora seja um bloco de construção para um conjunto de coleta, um item da coleção não pode existir isoladamente.

Os conjuntos de coleta são definidos e implantados em uma instância de servidor e podem ser executados independentemente um do outro. Cada conjunto de coleta pode ser se aplicado a um destino que corresponda aos tipos de destino de todos os tipos de coletor que fazem de um conjunto de coleta. O conjunto de coleta é executado por um trabalho ou trabalhos do SQL Server Agent, e os dados são carregados no data warehouse de gerenciamento em uma agenda predefinida.

Todos os dados coletados por instâncias diferentes dentro do conjunto de coleta são carregados no data warehouse de gerenciamento na mesma agenda. Essa agenda é definida como uma agenda compartilhada do SQL Server Agent e pode ser usada por mais de um conjunto de coleta. Um conjunto de coleta é ativado ou desativado como uma entidade única, portanto, os itens da coleção não podem ser ativados ou desativados individualmente.

Ao criar ou atualizar um conjunto de coleta, você pode configurar o modo de coleta para realizar a coleta de dados e carregá-los no data warehouse de gerenciamento. O tipo de coleção determina o tipo de agendamento: armazenado em cache ou não armazenado em cache. Se a coleção estiver armazenada em cache, as tarefas de coleção de dados e de upload serão executadas em um trabalho separado. A coleta é executada segundo uma agenda que inicia quando o SQL Server Agent é iniciado e executado na frequência especificada no item de coleta. O carregamento é executado de acordo com a agenda especificada pelo usuário.

Na coleta não cache, a coleta e o carregamento de dados são executados em um único trabalho, mas em duas etapas. A etapa 1 corresponde à coleção e a etapa 2 corresponde ao upload. Nenhuma agenda é necessária para a coleta sob demanda.

Depois que um conjunto de coleta é habilitado, a coleta de dados pode ser iniciada, de acordo com uma agenda ou sob demanda. Quando a coleta de dados iniciar, o SQL Server Agent gera um processo para o coletor de dados, que em troca carrega os pacotes do Integration Services no conjunto de coleta. Os itens de coleta que representam tipos de coleta reúnem dados dos provedores de dados apropriados nos destinos especificados. Quando o ciclo de coleta termina, os dados são carregados no data warehouse de gerenciamento.