sp_syscollector_create_collection_item (Transact-SQL)
Crea un elemento della raccolta in un insieme di raccolta definito dall'utente. Un elemento della raccolta definisce i dati da raccogliere e la frequenza di raccolta.
Sintassi
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
Argomenti
[ @collection\_set\_id = ] collection_set_id
Identificatore univoco locale dell'insieme di raccolta. collection_set_id è di tipo int.[ @collector\_type\_uid = ] 'collector_type_uid'
GUID che identifica il tipo di agente di raccolta da utilizzare per questo elemento. collector_type_uid è di tipo uniqueidentifier e non prevede alcun valore predefinito. Per un elenco di tipi di agenti di raccolta, eseguire una query sulla vista di sistema syscollector_collector_types.[ @name = ] 'name'
Nome dell'elemento della raccolta. name è di tipo sysname e non può essere una stringa vuota o NULL.name deve essere univoco. Per un elenco dei nomi degli elementi della raccolta correnti, eseguire una query sulla vista di sistema syscollector_collection_items.
[ @frequency = ] frequency
Utilizzato per specificare la frequenza di raccolta dei dati da parte di questo elemento della raccolta, espressa in secondi. frequency è di tipo int e il valore predefinito è 5. Il valore minimo che è possibile specificare è 5 secondi.Se l'insieme di raccolta è impostato sulla modalità non in cache, la frequenza viene ignorata in quanto in questa modalità la raccolta e il caricamento dei dati vengono eseguiti in base alla pianificazione specificata per l'insieme. Per visualizzare la modalità di raccolta dell'insieme di raccolta, eseguire una query sulla vista di sistema syscollector_collection_sets.
[ @parameters = ] 'parameters'
Parametri di input per il tipo di agente di raccolta. parameters è di tipo xml e il valore predefinito è NULL. Lo schema parameters deve corrispondere allo schema dei parametri per il tipo di agente di raccolta.[ @collection\_item\_id = ] collection_item_id
Identificatore univoco che identifica l'elemento dell'insieme di raccolta. collection_item_id è di tipo int e ha OUTPUT.
Valori dei codici restituiti
0 (esito positivo) o 1 (esito negativo)
Osservazioni
È necessario eseguire sp_syscollector_create_collection_item nel contesto del database di sistema msdb.
L'insieme di raccolta al quale viene aggiunto l'elemento deve essere interrotto prima della creazione dell'elemento della raccolta. Non è possibile aggiungere elementi della raccolta agli insiemi di raccolta di sistema.
Autorizzazioni
Per eseguire questa procedura, è richiesta l'appartenenza al ruolo predefinito del database dc_admin (con autorizzazione EXECUTE) .
Esempi
Nell'esempio seguente viene creato un elemento della raccolta basato sul tipo di raccolta Generic T-SQL Query Collector Type e successivamente tale elemento viene aggiunto all'insieme di raccolta denominato Simple collection set test 2. Per creare l'insieme di raccolta specificato, eseguire l'esempio B in 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;
Vedere anche