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
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
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