Udostępnij za pośrednictwem


Dodawanie elementu kolekcji do zestawu kolekcji (Transact-SQL)

Dotyczy:programu SQL Server

Element kolekcji można dodać do istniejącego zestawu kolekcji przy użyciu procedur składowanych dostarczanych z modułem zbierającym dane.

Wykonaj następujące kroki, korzystając z edytora zapytań w programie SQL Server Management Studio.

Dodawanie elementu kolekcji do zestawu kolekcji

  1. Zatrzymaj zestaw kolekcji, do którego chcesz dodać element, uruchamiając procedurę składowaną sp_syscollector_stop_collection_set. Aby na przykład zatrzymać zestaw kolekcji o nazwie "Zestaw kolekcji testów", uruchom następujące instrukcje:

    USE msdb;
    GO
    
    DECLARE @csid INT;
    
    SELECT @csid = collection_set_id
    FROM syscollector_collection_sets
    WHERE name = 'Test Collection Set';
    
    SELECT @csid;
    
    EXEC dbo.sp_syscollector_stop_collection_set @collection_set_id = @csid;
    

    Notatka

    Można również zatrzymać zestaw kolekcji przy użyciu Eksploratora obiektów w programie SQL Server Management Studio. Aby uzyskać więcej informacji, zobacz Rozpoczynanie lub zatrzymywanie zestawu zbiorów.

  2. Zadeklaruj zestaw kolekcji, do którego chcesz dodać element kolekcji. Poniższy kod zawiera przykład sposobu deklarowania identyfikatora zestawu kolekcji.

    DECLARE @collection_set_id_1 INT;
    
    SELECT @collection_set_id_1 = collection_set_id
    FROM msdb.dbo.syscollector_collection_sets
    WHERE name = N'Test Collection Set';-- name of collection set
    
  3. Zadeklaruj typ kolektora. Poniższy kod zawiera przykład sposobu deklarowania ogólnego typu modułu zbierającego zapytania T-SQL.

    DECLARE @collector_type_uid_1 UNIQUEIDENTIFIER;
    
    SELECT @collector_type_uid_1 = collector_type_uid
    FROM msdb.dbo.syscollector_collector_types
    WHERE name = N'Generic T-SQL Query Collector Type';
    

    Aby uzyskać listę zainstalowanych typów modułów zbierających, możesz uruchomić następujący kod:

    USE msdb;
    GO
    
    SELECT * FROM syscollector_collector_types;
    GO
    
  4. Uruchom procedurę składowaną sp_syscollector_create_collection_item, aby utworzyć element kolekcji. Należy zadeklarować schemat elementu kolekcji, tak aby dopasowywał do wymaganego schematu dla żądanego typu kolektora. W poniższym przykładzie użyto ogólnego schematu wejściowego zapytania T-SQL.

    DECLARE @collection_item_id INT;
    
    EXEC msdb.dbo.sp_syscollector_create_collection_item @name = N'OS Wait Stats', --name of collection item
        @parameters = N'
            <ns:TSQLQueryCollector xmlns:ns="DataCollectorType">
             <Query>
              <Value>select * from sys.dm_os_wait_stats</Value>
              <OutputTable>os_wait_stats</OutputTable>
            </Query>
            </ns:TSQLQueryCollector>',
    @collection_item_id = @collection_item_id OUTPUT,
    @frequency = 60,
    @collection_set_id = @collection_set_id_1, --- Provides the collection set ID number
    @collector_type_uid = @collector_type_uid_1;-- Provides the collector type UID
    
    SELECT @collection_item_id;
    
  5. Przed rozpoczęciem zaktualizowanego zestawu kolekcji uruchom następujące zapytanie, aby sprawdzić, czy nowy element kolekcji został utworzony:

    USE msdb;
    GO
    SELECT * from syscollector_collection_sets;
    SELECT * from syscollector_collection_items;
    GO
    

    Zestawy kolekcji i ich elementy są wyświetlane na karcie Wyniki.