sp_syscollector_create_collection_item (Transact-SQL)

Dotyczy:SQL Server

Tworzy element kolekcji w zdefiniowanym przez użytkownika zbiorze kolekcji. Element zbierania określa dane do zbierania oraz częstotliwość ich zbierania.

Transact-SQL konwencje składni

Składnia

dbo.sp_syscollector_create_collection_item
    [ @collection_set_id = ] collection_set_id
    , [ @collector_type_uid = ] 'collector_type_uid'
    , [ @name = ] N'name'
    [ , [ @frequency = ] frequency ]
    [ , [ @parameters = ] N'parameters' ]
    , [ @collection_item_id = ] collection_item_id OUTPUT
[ ; ]

Arguments

[ @collection_set_id = ] collection_set_id

Unikalny lokalny identyfikator zbioru kolekcji. @collection_set_id jest int, bez domyślnego stanowczego.

[ @collector_type_uid = ] 'collector_type_uid'

GUID identyfikujący typ kolekcjonera do użycia dla tego elementu. @collector_type_uid jest unikalnym identyfikatorem, bez domyślnego ustanowienia. Aby uzyskać listę typów kolektorów, zapytaj widok syscollector_collector_types systemowy.

[ @name = ] N'imię'

Nazwa przedmiotu kolekcji. @name jest nazwą systemu i nie może być pustym ciągiem ani NULL.

@name musi być wyjątkowa. Aby uzyskać listę aktualnych nazw elementów kolekcji, zapytaj w widoku syscollector_collection_items systemowym.

[ @frequency = ] częstotliwość

Używany do określania (w sekundach), jak często ten element zbiera dane. @frequency jest int, z domyślnym .5 Minimalna wartość, którą można określić, to 5 sekund.

Jeśli zestaw zbiorów jest ustawiony na tryb niebuforowany, ta częstotliwość jest ignorowana, ponieważ ten tryb powoduje, że zarówno zbieranie, jak i przesyłanie danych odbywają się według harmonogramu określonego dla zbioru zbiorów. Aby zobaczyć tryb kolekcji zbioru kolekcji, zapytaj syscollector_collection_sets widok systemowy.

[ @parameters = ] N'parametrów'

Parametry wejściowe dla typu kolektora. @parameters jest xml, z domyślnym poziomem NULL. Schemat @parameters musi odpowiadać schematowi parametrów typu kolektora.

[ @collection_item_id = ] collection_item_id WYJŚCIE

Unikalny identyfikator identyfikujący element zbioru kolekcji. @collection_item_id jest parametrem OUTPUT typu int.

Zwracanie wartości kodu

0 (powodzenie) lub 1 (niepowodzenie).

Uwagi

sp_syscollector_create_collection_item musi być uruchamiany w kontekście bazy msdb danych systemu.

Zbiór kolekcji, do którego dodaje się przedmiot kolekcji, musi zostać zatrzymany przed utworzeniem elementu kolekcji. Przedmiotów kolekcji nie można dodawać do zestawów kolekcji systemowych.

Permissions

Wymaga członkostwa w stałej roli bazy danych dc_admin (z uprawnieniami WYKONAJ) do wykonania tej procedury.

Przykłady

Poniższy przykład tworzy element kolekcji na podstawie typu Generic T-SQL Query Collector Type kolekcji i dodaje go do zbioru kolekcji o nazwie Simple collection set test 2. Aby utworzyć określony zestaw kolekcji, uruchom przykład B w sp_syscollector_create_collection_set.

USE msdb;
GO

DECLARE @collection_item_id AS INT;

DECLARE @collection_set_id AS INT = (SELECT collection_set_id
                                     FROM syscollector_collection_sets
                                     WHERE name = N'Simple collection set test 2');

DECLARE @collector_type_uid AS UNIQUEIDENTIFIER = (SELECT collector_type_uid
                                                   FROM syscollector_collector_types
                                                   WHERE name = N'Generic T-SQL Query Collector Type');

DECLARE @params AS 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>');

EXECUTE sp_syscollector_create_collection_item
    @collection_set_id = @collection_set_id,
    @collector_type_uid = @collector_type_uid,
    @name = 'My custom T-SQL query collector item',
    @frequency = 6000,
    @parameters = @params,
    @collection_item_id = @collection_item_id OUTPUT;