Udostępnij za pośrednictwem


Jak Tworzenie zestawu z typu rodzajowego T-SQL kwerendy zbierających

Można utworzyć kolekcja niestandardową zestaw z kolekcja elementów, używające typu zbierających rodzajowy T-SQL kwerendy przy użyciu procedur przechowywanych, które są dostarczane z modułów zbierających dane.Wykonasz to zadanie polega na użyciu Edytor kwerend w SQL Server Management Studio do przeprowadzenia następujących procedur:

  • Skonfiguruj harmonogramy przekazywania.

  • Definiowanie i tworzenie zestaw kolekcja.

  • Definiowanie i tworzenie element kolekcja.

  • Sprawdź, czy zestaw kolekcja i istnieje kolekcja elementów.

Ostrzeżenie

Przed utworzeniem niestandardowej zestaw kolekcja, należy skonfigurować parametry zbierania danych.Aby uzyskać więcej informacji, zobacz Jak Konfigurować parametry zbierania danych.

Definiowanie i tworzenie kolekcjazestaw

  • Definiowanie nowego zbioru ustawiona za pomocą sp_syscollector_create_collection_set procedura składowana.

    USE msdb
    DECLARE @collection_set_id int
    DECLARE @collection_set_uid uniqueidentifier
    EXEC sp_syscollector_create_collection_set 
    @name=N'DMV Test 1', 
    @collection_mode=0, 
    @description=N'This is a test collection set', 
    @logging_level=1, 
    @days_until_expiration=14, 
    @schedule_name=N'CollectorSchedule_Every_15min', 
    @collection_set_id=@collection_set_id OUTPUT, 
    @collection_set_uid=@collection_set_uid OUTPUT
    SELECT @collection_set_id, @collection_set_uid
    

    tryb kolekcji zestaw albo 0 (buforowane) lub 1 (niebuforowany).

    Poziom rejestrowania zestaw na 0, 1 lub 2.Aby uzyskać więcej informacji na temat poziomów rejestrowania, zobacz Rejestrowanie modułów zbierających dane.

    Następujące wstępnie skonfigurowane harmonogramy są dostarczane z modułów zbierających dane:

    • CollectorSchedule_Every_5min

    • CollectorSchedule_Every_10min

    • CollectorSchedule_Every_15min

    • CollectorSchedule_Every_30min

    • CollectorSchedule_Every_60min

    • CollectorSchedule_Every_6h

    Jeśli nie chcesz użyć jednej z harmonogramami, które są dostarczane, można utworzyć nowy harmonogram i używać go do zestaw kolekcja.Aby uzyskać więcej informacji, zobacz Tworzenie i dołączanie harmonogramy zadań.

Definiowanie i utworzyć kolekcjęelement

  1. Ponieważ nowy element kolekcja jest oparty na typu rodzajowego zbierających, który jest już zainstalowany, można uruchomić następujący kod do zestaw identyfikator GUID odpowiada typ rodzajowy T-SQL kwerendy zbierających.

    DECLARE @collector_type_uid uniqueidentifier
    SELECT @collector_type_uid = collector_type_uid FROM [msdb].[dbo].[syscollector_collector_types] 
    WHERE name = N'Generic T-SQL Query Collector Type';
    DECLARE @collection_item_id int
    
  2. Użyj sp_syscollector_create_collection_item procedura składowana utworzyć element kolekcja.Zadeklarować schematu dla element kolekcja tak mapuje schematu, który jest wymagany dla rodzajowego T-SQL kwerendy typ modułu zbierającego.

    EXEC sp_syscollector_create_collection_item 
    @name=N'Query Stats - Test 1', 
    @parameters=N'
    <ns:TSQLQueryCollector xmlns:ns="DataCollectorType">
    <Query>
    <Value>SELECT * FROM sys.dm_exec_query_stats</Value>
    <OutputTable>dm_exec_query_stats</OutputTable>
    </Query>
    </ns:TSQLQueryCollector>', 
    @collection_item_id=@collection_item_id OUTPUT, 
    @frequency=5, 
    @collection_set_id=@collection_set_id, 
    @collector_type_uid=@collector_type_uid
    SELECT @collection_item_id
    

Sprawdź, czy nowy zestaw kolekcja i istnieje element kolekcja

  • Przed rozpoczęciem nowej zestaw kolekcja, uruchom następującą kwerendę, aby sprawdzić, czy nowy zestaw kolekcja i jego element kolekcja został utworzony.

    USE msdb
    SELECT * FROM syscollector_collection_sets
    SELECT * FROM syscollector_collection_items
    GO
    

    Można także utworzyć wzrokowe sprawdzenie SQL Server Management Studio.W Eksploratorze obiektów rozwiń Management węzeł, a następnie rozwiń węzeł Zbierania danych.Nowy zestaw kolekcja będą wyświetlane.Okrągła czerwona ikona dla zestaw kolekcja wskazuje, że zestaw kolekcja jest zatrzymana.

Przykład

Poniższy przykładowy kod łączy przykłady, które są udokumentowane w poprzednich krokach.Należy zauważyć, że częstotliwość kolekcja ustawiona dla element kolekcja (5 sekund) jest ignorowana, ponieważ tryb zestaw kolekcji kolekcja jest równa 0, który jest tryb buforowany.Aby uzyskać więcej informacji, zobacz Terminologia zbierania danych.

USE msdb;

DECLARE @collection_set_id int;
DECLARE @collection_set_uid uniqueidentifier

EXEC dbo.sp_syscollector_create_collection_set
    @name = N'DMV Stats Test 1',
    @collection_mode = 0,
    @description = N'This is a test collection set',
    @logging_level=1,
    @days_until_expiration = 14,
    @schedule_name=N'CollectorSchedule_Every_15min',
    @collection_set_id = @collection_set_id OUTPUT,
    @collection_set_uid = @collection_set_uid OUTPUT
SELECT @collection_set_id,@collection_set_uid

DECLARE @collector_type_uid uniqueidentifier
SELECT @collector_type_uid = collector_type_uid FROM syscollector_collector_types 
WHERE name = N'Generic T-SQL Query Collector Type';

DECLARE @collection_item_id int
EXEC sp_syscollector_create_collection_item
@name= N'Query Stats - Test 1',
@parameters=N'
<ns:TSQLQueryCollector xmlns:ns="DataCollectorType">
<Query>
  <Value>select * from sys.dm_exec_query_stats</Value>
  <OutputTable>dm_exec_query_stats</OutputTable>
</Query>
 </ns:TSQLQueryCollector>',
    @collection_item_id = @collection_item_id OUTPUT,
    @frequency = 5, -- This parameter is ignored in cached mode
    @collection_set_id = @collection_set_id,
    @collector_type_uid = @collector_type_uid
SELECT @collection_item_id
   
GO