Genel t-sql sorgu Toplayıcı türü (Transact-sql) kullanan bir özel koleksiyonu kümesi oluştur

Veri toplayıcısı ile sağlanan saklı yordamları kullanarak genel t-sql sorgu Toplayıcı türü koleksiyon öğeleri ile özel bir koleksiyon oluşturabilirsiniz. Bu görevi yerine getirmeye içerir sorgu Düzenleyici kullanarak SQL Server Management Studioaşağıdaki yordamları yürütmek için:

  • Yükleme zamanlamalarını yapılandırın.

  • Koleksiyonu kümesi oluşturun ve tanımlayın.

  • Koleksiyon öğesi oluşturun ve tanımlayın.

  • Koleksiyonu kümesi ve koleksiyon öğeleri var olduğunu doğrulayın.

[!NOT]

Bir özel topluluk kümesi oluşturabilmeniz için veri toplama parametrelerini yapılandırmanız gerekir. Daha fazla bilgi için, bkz. Veri toplama parametrelerini (Transact-sql) yapılandırma.

Koleksiyonu kümesi oluşturun ve tanımlayın

  • Kullanarak yeni toplama tanımla sp_syscollector_create_collection_setsaklı yordamını.

    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;
    

    Toplama modu (önbelleğe alınmış) ya da 0 veya 1 (önbelleğe alınmamış) ayarlanabilir.

    Günlük düzeyi 0, 1 veya 2'ye ayarlayabilirsiniz.

    Aşağıdaki önceden yapılandırılmış zamanlamaları veri toplayıcısı ile sağlanan:

    • CollectorSchedule_Every_5min

    • CollectorSchedule_Every_10min

    • CollectorSchedule_Every_15min

    • CollectorSchedule_Every_30min

    • CollectorSchedule_Every_60min

    • CollectorSchedule_Every_6h

    Sağlanan programları kullanmak istemiyorsanız, yeni bir zamanlama oluşturmak ve koleksiyonu kümesi için kullanın. Daha fazla bilgi için, bkz. Yaratma ve zamanlamaları işleri.

Koleksiyon öğesi oluşturun ve tanımlayın

  1. Çünkü yeni Koleksiyon öğesi zaten yüklü olan bir genel Toplayıcı türünü temel alan, genel t-sql sorgu Toplayıcı türü için karşılık gelen GUID değerini ayarlamak için şu kodu çalıştırabilirsiniz.

    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. Kullanım sp_syscollector_create_collection_itemsaklı yordamı Koleksiyon öğesi için. Genel t-sql sorgu Toplayıcı türü için gereken şema eşleştirir böylece Koleksiyon öğesi şema bildirmek.

    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;
    

Yeni koleksiyonu kümesi ve Koleksiyon öğesi varolduğunu doğrulayın

  • Yeni koleksiyon başlatmadan önce set, yeni koleksiyonu kümesi ve koleksiyon madde oluşturulmuş olduğunu doğrulamak için aşağıdaki sorguyu çalıştırın.

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

    Ayrıca bir görsel kontrol yapabilirsiniz SQL Server Management Studio. Nesne Explorer'da genişletin yönetimi düğümünü ve ardından Veri toplama. Yeni bir koleksiyon kümesi görüntülenir. Koleksiyonu kümesi kırmızı daire simgesini koleksiyonu kümesi durdurulduğunu gösterir.

Örnek

Aşağıdaki kod örneği, önceki adımda belgelenen örnekler birleştirir. Koleksiyonu kümesi koleksiyonu modunu önbellekli mod olan 0 olarak ayarlandığı için Koleksiyon öğesi (5 saniye) ayarlanan koleksiyonu sıklığını sayılır unutmayın. Daha fazla bilgi için, bkz. Veri toplama.

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

Ayrıca bkz.

Başvuru

Veri toplayıcısı depolanan yordamlar (Transact-sql)

Zamanlamaları yönetme

Kavramlar

Başlatma veya durdurma koleksiyonu kümesi