Udostępnij przez


sp_syscollector_update_collection_item (Transact-SQL)

Służy do modyfikowania właściwości użytkownika zdefiniowane element kolekcja lub zmienić nazwy użytkownika zdefiniowane element kolekcja.

Topic link iconKonwencje składni języka Transact-SQL

sp_syscollector_update_collection_item 
          [ [ @collection_item_id = ] collection_item_id ]
        , [ [ @name = ] 'name' ]
        , [ [ @new_name = ] 'new_name' ]
        , [ [ @frequency = ] frequency ]
        , [ [ @parameters = ] 'parameters' ]

Argumenty

  • [ @collection\_item\_id = ] collection_item_id
    Is the unique identifer that identifies the collection item.collection_item_id is int with a default value of NULL.collection_item_id must have a value if name is NULL.

  • [@ nazwa =] ' name"
    Is the name of the collection item.name is sysname with a default value of NULL.name must have a value if collection_item_id is NULL.

  • [@ nowa_nazwa =] ' new_name"
    Is the new name for the collection item.new_name is sysname, and if used, cannot be an empty string.

    Parametr new_name musi być unikatowy.Aby uzyskać listę bieżących nazw elementów kolekcji, należy skierować kwerendę do widoku systemowego syscollector_collection_items.

  • [@ częstotliwość =] frequency
    Is the frequency (in seconds) that data is collected by this collection item.frequency is int, with a default of 5, the minimum value that can be specified.

  • [@ parametrów =] ' parameters"
    The input parameters for the collection item.parameters is xml with a default of NULL.The parameters schema must match the parameters schema of the typ modułu zbierającego dane.

Wartości kodów powrotnych

0 (sukces) lub 1 (brak)

Remarks

Jeśli zestaw kolekcja ustawiono tryb nie są buforowane, zmiana częstotliwości jest ignorowana ponieważ w tym trybie powoduje, że zbieranie danych i przekazywania w harmonogramu określonego dla zestaw kolekcja.Aby wyświetlić stan zestaw kolekcja, uruchom następującą kwerendę.Zamień <collection_item_id> z IDENTYFIKATOREM element kolekcja mają być aktualizowane.

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>;

Uprawnienia

Wymaga członkostwo w roli dc_operator (z uprawnienie wykonać) stałej bazy danych lub dc_admin do wykonać tej procedury.Mimo że dc_operator można uruchomić tę procedura przechowywana, Członkowie tej roli są ograniczone właściwości, które mogą zmieniać.Następujące właściwości mogą być zmieniane tylko przez dc_admin:

  • @ nowa_nazwa

  • Parametry @

Przykłady

Poniższe przykłady są oparte na element kolekcja utworzone w określonych w przykładzie sp_syscollector_create_collection_item (języka Transact-SQL).

A.Zmiana częstotliwości pobierania

W poniższym przykładzie zmienia częstotliwość kolekcja dla określonego element kolekcja.

USE msdb;
GO
EXEC sp_syscollector_update_collection_item 
@name = N'My custom TSQL query collector item',
@frequency = 3000;
GO

B.Zmiana nazwy element kolekcja

Zmienia nazwę w następującym przykładzie element kolekcja.

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.Zmienianie parametrów element kolekcja

W poniższym przykładzie zmienia parametry, skojarzone z elementem kolekcja.Określone w instrukcja <Value> Atrybut ulega zmianie, UseSystemDatabases atrybut jest ustawiony na wartość false. Aby wyświetlić bieżące parametry dla tego element, kwerendy kolumna parametrów w widoku syscollector_collection_items systemu.Konieczne może być modyfikowania wartości @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