Partager via


Ajouter un élément de collecte à un jeu d’éléments de collecte (Transact-SQL)

S’applique à : SQL Server

Vous pouvez ajouter un élément de collecte à un jeu d'éléments de collecte existant à l'aide des procédures stockées fournies avec le collecteur de données.

Effectuez les étapes suivantes à l’aide de l’éditeur de requête dans SQL Server Management Studio.

Ajouter un élément de collecte à un jeu d'éléments de collecte

  1. Arrêtez le jeu d’éléments de collecte auquel vous souhaitez ajouter l’élément en exécutant la procédure stockée sp_syscollector_stop_collection_set. Par exemple, pour arrêter un jeu d'éléments de collecte nommé « Test Collection Set », exécutez les instructions suivantes :

    USE msdb;
    GO
    
    DECLARE @csid INT;
    
    SELECT @csid = collection_set_id
    FROM syscollector_collection_sets
    WHERE name = 'Test Collection Set';
    
    SELECT @csid;
    
    EXEC dbo.sp_syscollector_stop_collection_set @collection_set_id = @csid;
    

    Remarque

    Vous pouvez également arrêter le jeu d’éléments de collecte en utilisant l’Explorateur d’objets de SQL Server Management Studio. Pour plus d’informations, consultez Démarrer ou arrêter un jeu d’éléments de collecte.

  2. Déclarez le jeu d'éléments de collecte auquel vous souhaitez ajouter l'élément de collecte. Le code suivant fournit un exemple de la façon dont déclarer l'ID du jeu d'éléments de collecte.

    DECLARE @collection_set_id_1 INT;
    
    SELECT @collection_set_id_1 = collection_set_id
    FROM msdb.dbo.syscollector_collection_sets
    WHERE name = N'Test Collection Set';-- name of collection set
    
  3. Déclarez le type de collecteur. Le code suivant fournit un exemple de la façon dont déclarer le type de collecteur Requête T-SQL générique.

    DECLARE @collector_type_uid_1 UNIQUEIDENTIFIER;
    
    SELECT @collector_type_uid_1 = collector_type_uid
    FROM msdb.dbo.syscollector_collector_types
    WHERE name = N'Generic T-SQL Query Collector Type';
    

    Vous pouvez exécuter le code suivant pour obtenir la liste des types de collecteurs installés :

    USE msdb;
    GO
    
    SELECT * FROM syscollector_collector_types;
    GO
    
  4. Exécutez la procédure stockée sp_syscollector_create_collection_item pour créer l’élément de collection. Vous devez déclarer le schéma de l'élément de collecte de manière à ce qu'il soit mappé au schéma requis pour le type de collecteur voulu. L'exemple suivant utilise le schéma d'entrée Requête T-SQL générique.

    DECLARE @collection_item_id INT;
    
    EXEC msdb.dbo.sp_syscollector_create_collection_item @name = N'OS Wait Stats', --name of collection item
        @parameters = N'
            <ns:TSQLQueryCollector xmlns:ns="DataCollectorType">
             <Query>
              <Value>select * from sys.dm_os_wait_stats</Value>
              <OutputTable>os_wait_stats</OutputTable>
            </Query>
            </ns:TSQLQueryCollector>',
    @collection_item_id = @collection_item_id OUTPUT,
    @frequency = 60,
    @collection_set_id = @collection_set_id_1, --- Provides the collection set ID number
    @collector_type_uid = @collector_type_uid_1;-- Provides the collector type UID
    
    SELECT @collection_item_id;
    
  5. Avant de démarrer le jeu d'éléments de collecte mis à jour, exécutez la requête suivante pour vérifier que le nouvel élément de collecte a été créé :

    USE msdb;
    GO
    SELECT * from syscollector_collection_sets;
    SELECT * from syscollector_collection_items;
    GO
    

    Les jeux d’éléments de collecte et leurs éléments de collecte figurent sous l’onglet Résultats .