Udostępnij za pośrednictwem


sp_syscollector_update_collection_item (języka Transact-SQL)

Używane do modyfikowania właściwości zdefiniowane przez użytkownika kolekcja element lub nazwy zdefiniowane przez użytkownika kolekcja element.

Ikona łącza do tematuJęzyka Transact-SQL składni konwencje

Składnia

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
    Jest unikatowym identyfikatorem, który identyfikujeelement kolekcja. collection_item_idjest int o wartości domyślnej NULL.collection_item_idmusi mieć wartość, jeśli name ma wartość NULL.

  • [@name =] 'name'
    Jest nazwąelement kolekcja. namejest sysname o wartości domyślnej NULL.namemusi mieć wartość, jeśli collection_item_id ma wartość NULL.

  • [ @ nowa_nazwa =] 'new_name"
    To nowa nazwaelement kolekcja. new_namejest sysname, i jeśli używana, nie może być pustym ciąg.

    new_namemusi być unikatowa.Lista aktualne nazwyelement kolekcjakwerendy syscollector_collection_items systemu widoku.

  • [ @ częstotliwość = ] frequency
    Czy częstotliwość (w sekundach) dane są zbierane przezelement kolekcja. frequencyjest int, z domyślnymi 5, wartość minimalna, który może być określony.

  • [ @ parametrów = ] 'parameters"
    Parametry wejścioweelement kolekcja. parametersjest xml Domyślna wartość NULL.parameters Schematu musi odpowiadać schematu parametry typ modułu zbierającego.

Wartości kodów powrotnych

0(sukces) lub 1 (błąd)

Uwagi

kolekcjazestaw jest zestaw tryb buforowany, zmienianie częstotliwości jest ignorowana ponieważ powoduje to tryb kolekcja danych i przekazywania na harmonogram określony dla kolekcjazestaw. Aby wyświetlić stan kolekcja zestaw, uruchom następującą kwerendę.Zamień <collection_item_id> o identyfikatorze kolekcja element 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łonkostwa w dc_admin lub dc_operator (z uprawnieniem Wykonywanie) ustalony rola bazy danych do wykonać tej procedury.Chociaż dc_operator można uruchomić tę procedura składowana, Członkowie tej roli są ograniczone właściwości umożliwiających im zmiany.Następujące właściwości mogą być zmieniane tylko przez dc_admin:

  • @new_name

  • @parameters

Przykłady

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

A.Zmiana częstotliwości kolekcja

Poniższy przykład przedstawia zmianę częstotliwości kolekcja określonej kolekcja element.

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

B.Zmiana nazwyelement kolekcja

Poniższy przykład zmienia nazwę kolekcja element.

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

W następującym przykładzie zmieniane parametry związane z kolekcja element.instrukcja określone w <Value>zmienićatrybut i UseSystemDatabasesatrybut jest zestaw na wartość false. Aby wyświetlić bieżące parametry dla tego element, kwerenda parameters kolumna w syscollector_collection_items systemu widoku.Należy zmodyfikować wartość dla @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