Raccolta dati

Si applica a: SQL Server

L'agente di raccolta dati è un componente di SQL Server che consente di raccogliere set diversi di dati. La raccolta dati viene eseguita costantemente o in base a una pianificazione definita dall'utente. L'agente di raccolta dati archivia quindi i dati raccolti in un database relazionale noto come data warehouse di gestione.

Cos'è l'agente di raccolta dati?

L'agente di raccolta dati è un componente chiave della piattaforma di raccolta dati per SQL Server e gli strumenti forniti da SQL Server. L'agente di raccolta dati fornisce un punto centrale per la raccolta dati attraverso le applicazioni e i server di database. In questo punto di raccolta si possono ottenere dati da diverse origini e non esclusivamente relativi alle prestazioni, a differenza di Analisi SQL.

L'agente di raccolta dati consente di regolare l'ambito della raccolta dati per adattarlo agli ambienti di prova e di produzione. Utilizza inoltre un data warehouse, ovvero un database relazionale che consente di gestire i dati raccolti impostando diversi periodi di mantenimento.

L'agente di raccolta dati supporta l'ottimizzazione dinamica per la raccolta di dati ed è estensibile tramite l'API. Per altre informazioni, vedere Programmazione dell'agente di raccolta dati.

Nella figura seguente viene illustrato come si colloca l'agente di raccolta dati nella strategia complessiva per la raccolta e la gestione dei dati in SQL Server.

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

Concetti

L'agente di raccolta dati è integrato con SQL Server Agent e Integration Services e fa ampio uso di entrambi. Pertanto, prima di utilizzare l'agente di raccolta dati è necessario comprendere alcuni concetti relativi a ognuno di questi componenti di SQL Server.

SQL Server Agent viene usato per pianificare ed eseguire i processi di raccolta. È necessario comprendere i seguenti concetti:

  • Posizione
  • Passaggio del processo
  • Pianificazioni processo
  • Subsystem
  • Account proxy

Per altre informazioni, vedere Automatizzazione delle attività amministrative (SQL Server Agent).

Integration Services (SSIS) viene usato per eseguire pacchetti che raccolgono dati da singoli provider di dati. È necessario conoscere i seguenti strumenti e concetti di SSIS:

  • Pacchetto SSIS
  • Configurazione del pacchetto SSIS

Per altre informazioni, vedere Pacchetti di Integration Services (SSIS).

Terminologia

Termine Descrizione
Destinazione Istanza del motore di database in un'edizione di SQL Server che supporta la raccolta di dati. Per altre informazioni sulle edizioni supportate, vedere la sezione sulla gestibilità in Edizioni e funzionalità supportate di SQL Server 2022.

Una radice di destinazione definisce un sottoalbero nella gerarchia di destinazione. Un set di destinazioni è il gruppo di destinazioni risultante dell'applicazione di un filtro a un sottoalbero definito da una radice di destinazione. Una radice di destinazione può essere un database, un'istanza di SQL Server o un'istanza del computer.
Tipo di destinazione Tipo della destinazione che presenta caratteristiche e comportamento determinati. Ad esempio, una destinazione dell'istanza di SQL Server ha caratteristiche diverse rispetto a una destinazione di database SQL Server.
Provider dati Origine dati nota, specifica di un tipo di destinazione che fornisce dati ad un tipo di agente di raccolta.
Tipo agente di raccolta Wrapper logico intorno ai pacchetti SSIS che fornisce il meccanismo effettivo per raccogliere dati e caricarli nel data warehouse di gestione.
Elemento dell'insieme Istanza di un tipo di agente di raccolta. Un elemento dell'insieme viene creato con uno specifico set di proprietà di input e con una frequenza di raccolta.
Set di raccolta Gruppo di elementi della raccolta. Un set di raccolta è un'unità di raccolta di dati con cui un utente può interagire tramite l'interfaccia utente.
Modalità di raccolta Modo in cui i dati vengono raccolti e archiviati. La modalità di raccolta può essere cache o in cache. La modalità cache supporta una raccolta continua, mentre la modalità non in cache è destinata alla raccolta su richiesta o a uno snapshot di raccolta.
Data warehouse di gestione Database relazionale utilizzato per archiviare i dati raccolti.

Nell'illustrazione seguente sono mostrate le dipendenze e le relazioni tra i componenti dell'agente di raccolta dati.

Diagram of data collector functional dependencies.

Come mostrato nell'illustrazione, il provider di dati è esterno all'agente di raccolta dati e per definizione ha una relazione implicita con la destinazione. Il provider di dati appartiene specificamente a una particolare destinazione (ad esempio, un servizio SQL Server come il motore relazionale) e fornisce dati come le viste di sistema in SQL Server, i contatori di Monitor prestazioni e i provider WMI che possono essere utilizzati dall'agente di raccolta dati.

Il tipo di agente di raccolta è specifico di un tipo di destinazione in base all'associazione logica di un provider di dati ad un tipo di destinazione. Il tipo di agente di raccolta definisce il modo in cui i dati vengono raccolti da un provider di dati specifico (utilizzando parametri schematizzati) e specifica lo schema di archiviazione dei dati. Lo schema del provider di dati e lo schema di archiviazione sono necessari per archiviare i dati raccolti. Il tipo di agente di raccolta fornisce inoltre il percorso del data warehouse di gestione, che può risiedere sul computer che esegue la raccolta di dati o su un computer diverso.

Un elemento dell'insieme, mostrato nell'illustrazione, è un'istanza di un tipo di agente di raccolta specifico con parametri di input, ad esempio XML Schema per il tipo di agente di raccolta. Tutti gli elementi della raccolta devono operare sulla stessa radice di destinazione o su una radice di destinazione vuota. Ciò consente all'agente di raccolta dati di combinare tipi di agente di raccolta dal sistema operativo o da una radice di destinazione specifica, ma non da radici di destinazione diverse.

Un elemento dell'insieme ha una frequenza di raccolta definita che determina ogni quanto vengono acquisiti gli snapshot di valori. Sebbene sia un elemento fondamentale per un set di raccolta, un elemento dell'insieme non può esistere autonomamente.

I set di raccolta vengono definiti e distribuiti su un'istanza del server e possono essere eseguiti indipendentemente l'uno dall'altro. Ogni set di raccolta può essere applicato ad una destinazione che corrisponde ai tipi di destinazione di tutti i tipi di agente di raccolta appartenenti ad un set di raccolta. Il set di raccolta viene eseguito da uno o più processi di SQL Server Agent e i dati vengono caricati nel data warehouse di gestione in base a una pianificazione predefinita.

Tutti i dati raccolti da istanze diverse all'interno del set di raccolta vengono caricati nel data warehouse di gestione sulla base della stessa pianificazione. Tale pianificazione viene definita come pianificazione di SQL Server Agent condivisa e può essere utilizzata da più di un set di raccolta. Un set di raccolta viene attivato o disattivato come singola entità; gli elementi della raccolta non possono essere attivati o disattivati individualmente.

Quando si crea o si aggiorna un set di raccolta è possibile configurare la modalità di raccolta per raccogliere dati e caricarli nel data warehouse di gestione. Il tipo di raccolta determina il tipo di pianificazione: memorizzato nella cache oppure non memorizzato nella cache. Se la raccolta è memorizzata nella cache, le attività di raccolta e caricamento di dati vengono eseguite ciascuna su un processo separato. La raccolta viene eseguita sulla base di una pianificazione che inizia quando SQL Server Agent si avvia e in base alla frequenza specificata nell'elemento dell'insieme. Il caricamento viene eseguito in base alla pianificazione specificata dall'utente.

In una raccolta in modalità non in cache, la raccolta e il caricamento dei dati vengono entrambi eseguiti in un solo processo, ma in due passaggi. Il primo passaggio è la raccolta, il secondo è il caricamento. Per la raccolta su richiesta non è necessaria alcuna pianificazione.

Dopo l'abilitazione di un set di raccolta, la raccolta di dati può avviarsi, secondo una pianificazione o su richiesta. Quando la raccolta di dati si avvia, SQL Server Agent genera un processo per l'agente di raccolta dati, che a sua volta carica i pacchetti di Integration Services per il set di raccolta. Gli elementi della raccolta che rappresentano tipi di raccolta raggruppano dati provenienti dai provider di dati adeguati sulle destinazioni specificate. Quando il ciclo di raccolta termina, tali dati vengono caricati nel data warehouse di gestione.