Поделиться через


Как добавить элемент сбора в набор сбора

Добавить новый элемент сбора в существующий набор сбора можно с помощью хранимых процедур, предоставляемых вместе со сборщиком данных.

Выполните следующие шаги с помощью редактора запросов в среде Среда SQL Server Management Studio.

Добавление элемента сбора в набор сбора

  1. Остановите набор сбора, в который необходимо добавить элемент, запустив хранимую процедуру sp_syscollector_stop_collection_set. Например, чтобы остановить набор сбора с именем «Тестовый набор сбора», выполните следующие инструкции:

    USE msdb
    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
    
    ПримечаниеПримечание

    Кроме того, набор сбора можно остановить с помощью обозревателя объектов среды Среда SQL Server Management Studio. Дополнительные сведения см. в разделе Как запустить или остановить набор сбора.

  2. Объявите набор сбора, в который нужно добавить элемент сбора. В следующем коде представлен пример объявления идентификатора набора сбора.

    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. Объявление типа сборщика. В следующем коде представлен пример объявления типа сборщика «Универсальный запрос 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';
    

    С помощью приведенного ниже кода можно получить список установленных типов сборщика:

    USE msdb
    SELECT * from syscollector_collector_types
    GO
    

    Дополнительные сведения см. в разделе Типы сборщика.

  4. Запустите хранимую процедуру sp_syscollector_create_collection_item, чтобы создать элемент сбора. Необходимо объявить схему для элемента сбора, чтобы он был сопоставлен с требуемой схемой для сборщика нужного типа. В следующем примере используется схема «Универсальный запрос 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. Перед запуском обновленного набора сбора запустите следующий запрос, чтобы убедиться, что новый элемент сбора был создан:

    USE msdb
    SELECT * from syscollector_collection_sets
    SELECT * from syscollector_collection_items
    GO
    

    Наборы сбора и их элементы сбора отображаются на вкладке Результаты.