sp_syscollector_update_collection_item (Transact-SQL)
Consente di rinominare un elemento della raccolta definito dall'utente o di modificarne le proprietà.
Convenzioni della sintassi Transact-SQL
Sintassi
sp_syscollector_update_collection_item
[ [ @collection_item_id = ] collection_item_id ]
, [ [ @name = ] 'name' ]
, [ [ @new_name = ] 'new_name' ]
, [ [ @frequency = ] frequency ]
, [ [ @parameters = ] 'parameters' ]
Argomenti
[ @collection\_item\_id = ] collection_item_id
Identificatore univoco che identifica l'elemento della raccolta. collection_item_id è int e il valore predefinito è NULL. collection_item_id deve disporre di un valore se name è NULL.[ @name = ] 'name'
Nome dell'elemento della raccolta. name è sysname e il valore predefinito è NULL. name deve disporre di un valore se collection_item_id è NULL.[ @new\_name = ] 'new_name'
Nuovo nome per l'elemento della raccolta. new_name è di tipo sysname e se utilizzato non può essere una stringa vuota.new_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
Frequenza, espressa in secondi, con cui vengono raccolti i dati da questo elemento della raccolta. frequency è di tipo int e il valore predefinito è 5, ovvero il valore minimo che è possibile specificare.[ @parameters = ] 'parameters'
Parametri di input per l'elemento della 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.
Valori restituiti
0 (esito positivo) o 1 (esito negativo)
Osservazioni
Se il set di raccolta è impostato sulla modalità non in cache, la modifica della frequenza viene ignorata in quanto in questa modalità la raccolta e il caricamento dei dati vengono eseguiti in base alla pianificazione specificata per il set di raccolta. Per visualizzare lo stato del set di raccolta, eseguire la query seguente. Sostituire <collection_item_id> con l'ID dell'elemento della raccolta da aggiornare.
USE msdb;
GO
SELECT cs.collection_set_id, collection_set_uid, cs.name
,'is running' = CASE WHEN is_running = 0 THEN 'No' ELSE 'Yes' END
,'cache mode' = CASE WHEN collection_mode = 0 THEN 'Cached mode' ELSE 'Non-cached mode' END
FROM syscollector_collection_sets AS cs
JOIN syscollector_collection_items AS ci
ON ci.collection_set_id = cs.collection_set_id
WHERE collection_item_id = <collection_item_id>;
Autorizzazioni
Per eseguire questa procedura, è richiesta l'appartenenza al ruolo predefinito del database dc_admin o dc_operator (con autorizzazione EXECUTE). Anche se il ruolo dc_operator dispone di autorizzazioni per eseguire questa stored procedure, i membri di questo ruolo possono modificare solo determinate proprietà. Le proprietà seguenti possono essere modificate solo da dc_admin:
@new\_name
@parameters
Esempi
Gli esempi seguenti sono basati sull'elemento della raccolta creato nell'esempio definito in sp_syscollector_create_collection_item (Transact-SQL).
A.Modifica della frequenza di raccolta
Nell'esempio seguente viene modificata la frequenza di raccolta per l'elemento della raccolta specificato.
USE msdb;
GO
EXEC sp_syscollector_update_collection_item
@name = N'My custom TSQL query collector item',
@frequency = 3000;
GO
B.Ridenominazione di un elemento della raccolta
Nell'esempio seguente viene rinominato un elemento della raccolta.
USE msdb;
GO
EXEC sp_syscollector_update_collection_item
@name = N'My custom TSQL query collector item',
@new_name = N'My modified TSQL item';
GO
C.Modifica dei parametri di un elemento della raccolta
Nell'esempio seguente vengono modificati i parametri associati all'elemento della raccolta. L'istruzione definita all'interno dell'attributo <Value> viene modificata e l'attributo UseSystemDatabases viene impostato su false. Per visualizzare i parametri correnti per questo elemento, eseguire una query sulla colonna parameters nella vista di sistema syscollector_collection_items. Potrebbe essere necessario modificare il valore per @collection\_item\_id.
USE msdb;
GO
EXEC sp_syscollector_update_collection_item
@collection_item_id = 9,
@parameters = '
<ns:TSQLQueryCollector xmlns:ns="DataCollectorType">
<Query>
<Value>SELECT * FROM sys.dm_db_index_usage_stats</Value>
<OutputTable>MyOutputTable</OutputTable>
</Query>
<Databases>
<Database> UseSystemDatabases = "false"
UseUserDatabases = "true"</Database>
</Databases>
</ns:TSQLQueryCollector>';
GO
Vedere anche
Riferimento
Stored procedure di sistema (Transact-SQL)
sp_syscollector_create_collection_item (Transact-SQL)
syscollector_collection_items (Transact-SQL)