Aracılığıyla paylaş


Nasıl Yapılır: Genel T-SQL Query toplayıcı türü kullanan bir özel topluluk kümesi oluşturun.

Bir özel topluluk oluşturabilir küme tahsilat öğelerle veri toplayıcıyı ile sağlanan depolanan yordamlar kullanarak genel bir T-SQL sorgu toplayıcı türü kullanın.Bu görevi yerine getirmeye Query Düzenleyicisi'nde kullanarak içerir SQL Server Management Studio Aşağıdaki yordamlar dışında gerçekleştirmek için :

  • Karşıya yükleme zamanlamalarını yapılandırın.

  • Tanımlayın ve koleksiyon oluşturun küme.

  • Tanımlamak ve bir koleksiyon oluşturabilir öğe.

  • Doğrulayın koleksiyonu küme ve koleksiyon öğeleri vardır.

Not

Bir özel topluluk oluşturmadan önce küme, veri koleksiyon parametrelerini yapılandırmanız gerekir.Daha fazla bilgi için bkz:Nasıl Yapılır: Veri koleksiyon parametrelerini yapılandırma.

Tanımlayın ve koleksiyon oluşturun küme

  • Yeni koleksiyon tanımlamak küme the sp_syscollector_create_collection_ kullanarak küme saklı 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
    

    koleksiyon modu olabilir küme (önbelleğe alınmış) ya da 0 veya 1 (önbelleğe alınmış).

    Günlüğe kaydetme düzey olabilir küme 0, 1 veya 2.Günlük düzeyleri hakkında daha fazla bilgi için bkz: Veri Toplayıcı günlüğü.

    Aşağıdaki önceden yapılandırılmış zamanlama ile veri toplayıcıyı sağlanır:

    • CollectorSchedule_Every_5min

    • CollectorSchedule_Every_10min

    • CollectorSchedule_Every_15min

    • CollectorSchedule_Every_30min

    • CollectorSchedule_Every_60min

    • CollectorSchedule_Every_6h

    Sağlanan zamanlamaları birini kullanmak istiyorsanız, yeni bir zamanlama oluşturmak ve kullanmak için tahsilat küme.Daha fazla bilgi için bkz:Oluşturma ve projeler için çizelgeler ekleme.

Tanımlamak ve bir koleksiyon oluşturabilir öğe

  1. Yeni koleksiyon öğesi zaten yüklü olan bir genel Toplayıcı türüne bağlı için aşağıdaki kodu çalıştırın küme GUID, genel bir T-SQL Query Toplayıcı türüne karşılık gelir.

    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. The sp_syscollector_create_collection_ kullanmak öğe koleksiyon oluşturmak için saklı yordamıyla öğe.Koleksiyon için şema bildirmek öğe; bu nedenle, genel bir T-SQL Query Toplayıcı türü için gereken şema eşleştirir.

    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
    

Doğrulayın yeni koleksiyon küme ve varolan Koleksiyon öğesi

  • Yeni koleksiyon küme olduğunu doğrulamak için aşağıdaki sorguyu çalıştırmayı yeni koleksiyon kümesini başlatmak ve koleksiyon öğesi oluşturuldu.

    USE msdb
    SELECT * FROM syscollector_collection_sets
    SELECT * FROM syscollector_collection_items
    GO
    

    ' De de görsel bir denetimi yapabilirsiniz SQL Server Management Studio. Nesne Explorer'da genişletin Yönetim düğümü ve genişletinVeri koleksiyon.Yeni koleksiyon küme görüntülenir.koleksiyon kümesi kırmızı daire simgesini koleksiyon kümesi durdurulduğunu gösterir.

Example

Aşağıdaki kod örneği, önceki adımda belgelenen örnekler birleştirir.Önbellekli mod olduğu koleksiyon kümesi koleksiyon modu 0 olarak ayarlandığı için koleksiyon (5 saniye) öğe için küme olan koleksiyon sıklığını yoksayılır unutmayın.Daha fazla bilgi için bkz:Veri koleksiyon terimleri.

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