sp_syscollector_create_collection_item (Transact-SQL)
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.
Syntaxe
sp_syscollector_create_collection_item
[ @collection_set_id = ] collection_set_id
, [ @collector_type_uid = ] 'collector_type_uid'
, [ @name = ] 'name'
, [ [ @frequency = ] frequency ]
, [ @parameters = ] 'parameters'
, [ @collection_item_id = ] collection_item_id OUTPUT
Arguments
[ @collection\_set\_id = ] collection_set_id
Identificateur local unique pour le jeu d'éléments de collecte. collection_set_id est de type int.[ @collector\_type\_uid = ] 'collector_type_uid'
GUID qui identifie le type de collecteur à utiliser pour cet élément. collector_type_uid est de type uniqueidentifier, sans valeur par défaut. Pour obtenir une liste de types de collecteurs, interrogez la vue système syscollector_collector_types.[ @name = ] 'name'
Nom de l'élément de collecte. name est de type sysname et ne peut pas être une chaîne vide ni avoir la valeur NULL.name doit être unique. Pour obtenir une liste de noms d'éléments de collecte actuels, interrogez la vue système syscollector_collection_items.
[ @frequency = ] frequency
Permet de spécifier (en secondes) la fréquence de collecte des données par cet élément de collecte. L'argument frequency est de type int, avec 5 comme valeur par défaut. La valeur minimale pouvant être spécifiée est de 5 secondes.Si le jeu d'éléments de collecte est défini en mode non mis en cache, la fréquence est ignorée car ce mode provoque l'exécution de la collecte et du téléchargement des données selon la planification spécifiée pour le jeu d'éléments de collecte. Pour consulter le mode de collecte du jeu d'éléments de collecte, interrogez la vue système syscollector_collection_sets.
[ @parameters = ] 'parameters'
Paramètres d'entrée pour le type de collecteur. parameters est de type xml, avec NULL comme valeur par défaut. Le schéma parameters doit correspondre au schéma des paramètres du type de collecteur.[ @collection\_item\_id = ] collection_item_id
Identificateur unique qui identifie l'élément du jeu d'éléments de collecte. collection_item_id est de type int et a pour valeur OUTPUT.
Valeurs des codes de retour
0 (succès) ou 1 (échec)
Notes
sp_syscollector_create_collection_item doit être exécuté dans le contexte de la base de données système msdb.
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éé. Il est impossible d'ajouter des éléments de collecte à des jeux d'éléments de collecte système.
Autorisations
L'exécution de cette procédure requiert l'appartenance au rôle de base de données fixe dc_admin (avec l'autorisation EXECUTE).
Exemples
L'exemple suivant crée un élément de collecte selon le type de collecte 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 d'éléments de collecte 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 TSQL query collector item',
@frequency = 6000,
@parameters = @params,
@collection_item_id = @collection_item_id OUTPUT;
Voir aussi