sql izleme koleksiyonu oluşturmak için SQL Server Profiler kullanımı (SQL Server Management Studio'yu) ayarla

İçinde SQL Server 2012sunucu tarafında izleme yeteneklerini yararlanabilir SQL Server ProfilerGenel sql izleme Toplayıcı tipi kullanır koleksiyonu kümesi oluşturmak için kullanabileceğiniz bir izleme tanımını vermek. Bu işlem iki bölümü vardır:

  1. Oluşturmak ve vermek a SQL Server Profileriz.

  2. Yeni bir koleksiyon kümesi üzerinde verilen bir izleme tabanlı komut dosyası.

Hakkında 80 milisaniyede gerektiren herhangi bir saklı yordam veri toplama senaryosu için aşağıdaki yordamları içerir veya tamamlanması için daha uzun. Bu yordamları tamamlamak için mümkün olmalıdır:

  • Kullanım SQL Server Profileroluşturmak ve izlemeyi yapılandırmak için.

  • Kullanım SQL Server Management Studioaçmak için Düzenle ve sorgu yürütme.

Oluşturma ve SQL Server Profiler izleme verme

  1. In SQL Server Management Studio, open SQL Server Profiler. (Tarih araç menüsünde tıklatın SQL Server Profiler'I.)

  2. İçinde sunucuya Bağlan iletişim kutusunda, tıklatın İptal.

  3. Bu senaryoda, süre değerlerini milisaniye (varsayılan) olarak görüntülemek için yapılandırıldığından emin olun. Bunu yapmak için şu adımları izleyin:

    1. Tarih araç menüsünde tıklatın seçenekleri.

    2. İçinde Görüntü seçenekleri alan, emin mikrosaniye (SQL Server 2005 veya daha sonra yalnızca) süre sütunundaki değerleri göstermek onay kutusu temizlenir.

    3. Tıklayın Tamam kapatmak için Genel Seçenekler iletişim kutusu.

  4. Tarih Dosya menüsünü tıklayın Yeni izleme.

  5. İçinde sunucuya Bağlan iletişim kutusunda, bağlamak ve tıklatın istediğiniz sunucuyu seçin Connect.

    İzleme özellikleri iletişim kutusu görüntülenir.

  6. Tarih Genel sekmesinde, aşağıdakileri yapın:

    1. İçinde Izleme adı izleme için kullanmak istediğiniz adı yazın. Bu örnekte, izleme adıdır SPgt80.

    2. De şablon listesini, izleme için kullanılacak şablonu seçin. Bu örnek için tıklayın TSQL_SPs.

  7. Tarih Olayları seçimi sekmesinde, aşağıdakileri yapın:

    1. İzleme için kullanılacak olayları tanımlar. Bu örnekte, tüm onay kutularını temizleyin olaylar sütunu dışında ExistingConnection ve sp: tamamlanmış.

    2. Sağ alt köşedeki seçin tüm sütunları göster onay kutusu.

    3. Tıklayın sp: tamamlanmış satır.

    4. Kaydırma için satır boyunca süresi sütun ve daha sonra süresi onay kutusu.

  8. Sağ alt köşede tıklayın Sütun filtreleri açmak için Edit Filter iletişim kutusu. İçinde Edit Filter iletişim kutusunda, aşağıdakileri yapın:

    1. Filtre listesinde tıklatın süresi.

    2. Boole işleci penceresinde genişletme büyük veya eşit düğümün, type 80 tıklatın ve değer olarak Tamam.

  9. Tıklayın Run izlemeyi başlatmak için.

  10. Araç çubuğunda Durdur seçili izleme veya Duraklat seçili izleme.

  11. Tarih Dosya menüsü, Ver, Gelin Komut dosyası izleme tanımını, tıklatıp sql izleme koleksiyonu ayarlamak.

  12. İçinde Kaydet iletişim kutusunda, izleme tanımı için kullanmak istediğiniz adı yazın Dosya adı kutusunu ve sonra istediğiniz konuma kaydedin. Bu örnekte, dosya adı (SPgt80) izleme adı ile aynıdır.

  13. Tıklayın Tamam dosya başarıyla kaydedilmiş ve daha sonra yakın bir ileti aldığınızda SQL Server Profiler.

Yeni toplama bir SQL Server Profiler izleme komut dosyası

  1. De SQL Server Management Studio, dosyasını menüsü, açık, ve ardından Dosya.

  2. İçinde Açık dosyayı iletişim kutusunda bulun ve (SPgt80) önceki yordamda oluşturduğunuz dosyayı açın.

    İzleme bilgilerini kaydettiğiniz bir sorgu penceresi açılır ve yeni koleksiyon oluşturmak için çalıştırabileceğiniz bir komut dosyası birleştirilmiş.

  3. Komut dosyası kaydırma ve komut dosyası yorum metinde belirtilmiştir aşağıdaki değişiklik yapmak:

    • Yerine SQLTrace koleksiyonu ayarla adı burada koleksiyon için kullanmak istediğiniz adı ayarlayın. Bu örnek koleksiyonu kümesi adı SPROC_CollectionSet.

    • Yerine SQLTrace Koleksiyon öğesi adı burada Koleksiyon öğesi için kullanmak istediğiniz adı. Bu örnekte, Koleksiyon öğesi adı SPROC_Collection_Item.

  4. Tıklayın Execute sorguyu çalıştırmak için ve topluluk oluşturmak üzere ayarlayın.

  5. Nesne Explorer'da koleksiyonu kümesi oluşturulmuş olduğunu doğrulayın. Bunu yapmak için şu adımları izleyin:

    1. Sağ yönetimive'yi yenilemek.

    2. Genişletme yönetimive ardından Veri toplama.

    SPROC_CollectionSet koleksiyonu kümesi görünür aynı düzeyde Sistem veri toplama kümeleri düğüm. Koleksiyonu kümesi varsayılan olarak devre dışıdır.

  6. SPROC_CollectionSet, toplama modu gibi düzenler ve programı yüklemek için Object Explorer'ı kullanın. Veri toplayıcısı ile sağlanan sistem veri toplama kümeleri için istiyorsunuz aynı işlemleri uygulayın.

Örnek

Aşağıdaki kod örneği, yukarıdaki yordamları belgelenen adımları kaynaklanan son yazısıdır.

/*************************************************************/
-- SQL Trace collection set generated from SQL Server Profiler
-- Date: 11/19/2007  12:55:31 AM
/*************************************************************/

USE msdb
GO

BEGIN TRANSACTION
BEGIN TRY

-- Define collection set
-- ***
-- *** Replace 'SqlTrace Collection Set Name Here' in the 
-- *** following script with the name you want
-- *** to use for the collection set.
-- ***
DECLARE @collection_set_id int;
EXEC [dbo].[sp_syscollector_create_collection_set]
    @name = N'SPROC_CollectionSet',
    @schedule_name = N'CollectorSchedule_Every_15min',
    @collection_mode = 0, -- cached mode needed for Trace collections
    @logging_level = 0, -- minimum logging
    @days_until_expiration = 5,
    @description = N'Collection set generated by SQL Server Profiler',
    @collection_set_id = @collection_set_id output;
SELECT @collection_set_id;

-- Define input and output variables for the collection item.
DECLARE @trace_definition xml;
DECLARE @collection_item_id int;

-- Define the trace parameters as an XML variable
SELECT @trace_definition = convert(xml, 
N'<ns:SqlTraceCollector xmlns:ns"DataCollectorType" use_default="0">
<Events>
  <EventType name="Sessions">
    <Event id="17" name="ExistingConnection" columnslist="1,2,14,26,3,35,12" />
  </EventType>
  <EventType name="Stored Procedures">
    <Event id="43" name="SP:Completed" columnslist="1,2,26,34,3,35,12,13,14,22" />
  </EventType>
</Events>
<Filters>
  <Filter columnid="13" columnname="Duration" logical_operator="AND" comparison_operator="GE" value="80000L" />
</Filters>
</ns:SqlTraceCollector>
');

-- Retrieve the collector type GUID for the trace collector type.
DECLARE @collector_type_GUID uniqueidentifier;
SELECT @collector_type_GUID = collector_type_uid FROM [dbo].[syscollector_collector_types] WHERE name = N'Generic SQL Trace Collector Type';

-- Create the trace collection item.
-- ***
-- *** Replace 'SqlTrace Collection Item Name Here' in 
-- *** the following script with the name you want to
-- *** use for the collection item.
-- ***
EXEC [dbo].[sp_syscollector_create_collection_item]
   @collection_set_id = @collection_set_id,
   @collector_type_uid = @collector_type_GUID,
   @name = N'SPROC_Collection_Item',
   @frequency = 900, -- specified the frequency for checking to see if trace is still running
   @parameters = @trace_definition,
   @collection_item_id = @collection_item_id output;
SELECT @collection_item_id;

COMMIT TRANSACTION;
END TRY

BEGIN CATCH
ROLLBACK TRANSACTION;
DECLARE @ErrorMessage nvarchar(4000);
DECLARE @ErrorSeverity int;
DECLARE @ErrorState int;
DECLARE @ErrorNumber int;
DECLARE @ErrorLine int;
DECLARE @ErrorProcedure nvarchar(200);
SELECT @ErrorLine = ERROR_LINE(),
       @ErrorSeverity = ERROR_SEVERITY(),
       @ErrorState = ERROR_STATE(),
       @ErrorNumber = ERROR_NUMBER(),
       @ErrorMessage = ERROR_MESSAGE(),
       @ErrorProcedure = ISNULL(ERROR_PROCEDURE(), '-');
RAISERROR (14684, @ErrorSeverity, 1 , @ErrorNumber, @ErrorSeverity, @ErrorState, @ErrorProcedure, @ErrorLine, @ErrorMessage);
END CATCH;
GO