Partager via


sp_syscollector_create_collection_item (Transact-SQL)

S’applique à : SQL Server

Crée un élément de collecte dans un jeu d'éléments de collecte définis par l'utilisateur. Un élément de collecte définit les données à collecter et la fréquence de la collecte.

Conventions de la syntaxe Transact-SQL

Syntaxe

sp_syscollector_create_collection_item
    [ @collection_set_id = ] collection_set_id
    , [ @collector_type_uid = ] 'collector_type_uid'
    , [ @name = ] N'name'
    [ , [ @frequency = ] frequency ]
    [ , [ @parameters = ] N'parameters' ]
    , [ @collection_item_id = ] collection_item_id OUTPUT
[ ; ]

Arguments

[ @collection_set_id = ] collection_set_id

Identificateur local unique du jeu de collections. @collection_set_id est int, sans valeur par défaut.

[ @collector_type_uid = ] 'collector_type_uid'

GUID qui identifie le type de collecteur à utiliser pour cet élément. @collector_type_uid est uniqueidentifier, sans valeur par défaut. Pour obtenir la liste des types de collecteurs, interrogez l’affichage syscollector_collector_types système.

[ @name = ] N’name'

Nom de l’élément de collection. @name est sysname et ne peut pas être une chaîne vide ou NULL.

@name doit être unique. Pour obtenir la liste des noms d’éléments de collection actuels, interrogez l’affichage syscollector_collection_items système.

[ @frequency = ] fréquence

Utilisé pour spécifier (en secondes) la fréquence à laquelle cet élément de collecte collecte des données. @frequency est int, avec la valeur par défaut 5. La valeur minimale pouvant être spécifiée est de 5 secondes.

Si le jeu de collections est défini sur le mode non mis en cache, la fréquence est ignorée, car ce mode entraîne la collecte de données et le chargement au niveau de la planification spécifiée pour le jeu de regroupements. Pour afficher le mode de collecte du jeu de collections, interrogez la vue système syscollector_collection_sets (Transact-SQL ).

[ @parameters = ] N’parameters'

Les paramètres d'entrée pour le type de collecteur. @parameters est xml, avec la valeur par défaut NULL. Le schéma @parameters doit correspondre au schéma de paramètres du type collecteur.

[ @collection_item_id = ] sortie de collection_item_id

Identificateur unique qui identifie l’élément de jeu de collections. @collection_item_id est un paramètre OUTPUT de type int.

Valeurs des codes de retour

0 (réussite) ou 1 (échec).

Notes

sp_syscollector_create_collection_item doit être exécuté dans le contexte de la msdb base de données système.

Le jeu d'éléments de collecte auquel l'élément de collecte est ajouté doit être arrêté avant que ce dernier ne soit créé. Les éléments de collection ne peuvent pas être ajoutés aux jeux de regroupements système.

autorisations

Nécessite l’appartenance au rôle de base de données fixe dc_admin (avec l’autorisation EXECUTE) pour exécuter cette procédure.

Exemples

L'exemple suivant crée un élément de collecte selon le type collecteur Generic T-SQL Query Collector Type et l'ajoute au jeu d'éléments de collecte appelé Simple collection set test 2. Pour créer le jeu de collections spécifié, exécutez l’exemple B dans sp_syscollector_create_collection_set (Transact-SQL).

USE msdb;
GO

DECLARE @collection_item_id INT;
DECLARE @collection_set_id INT = (
        SELECT collection_set_id
        FROM syscollector_collection_sets
        WHERE name = N'Simple collection set test 2');
DECLARE @collector_type_uid UNIQUEIDENTIFIER = (
        SELECT collector_type_uid
        FROM syscollector_collector_types
        WHERE name = N'Generic T-SQL Query Collector Type');
DECLARE @params XML = CONVERT(XML, N'\<ns:TSQLQueryCollector xmlns:ns="DataCollectorType">
            <Query>
                <Value>SELECT * FROM sys.objects</Value>
                <OutputTable>MyOutputTable</OutputTable>
            </Query>
            <Databases>
                <Database> UseSystemDatabases = "true"
                           UseUserDatabases = "true"
                </Database>
            </Databases>
         \</ns:TSQLQueryCollector>');

EXEC sp_syscollector_create_collection_item @collection_set_id = @collection_set_id,
    @collector_type_uid = @collector_type_uid,
    @name = 'My custom T-SQL query collector item',
    @frequency = 6000,
    @parameters = @params,
    @collection_item_id = @collection_item_id OUTPUT;