Aracılığıyla paylaş


SQL Server Profiler ile izlemeleri görüntüleme ve analiz etme

Şunlar için geçerlidir:SQL ServerAzure SQL Yönetilen Örneği

Yakalanan olay verilerini bir izlemede görüntülemek için SQL Server Profiler'ı kullanın. SQL Server Profiler verileri tanımlı izleme özelliklerine göre görüntüler. SQL Server verilerini analiz etmenin bir yolu, verileri SQL Server veya Veritabanı Altyapısı Ayarlama Danışmanı gibi başka bir programa kopyalamaktır. Veritabanı Altyapısı Ayarlama Danışmanı, Metin veri sütunu izlemenin içinde yer alıyorsa SQL toplu işlem ve uzak yordam çağrısı (RPC) olaylarını içeren bir izleme dosyası kullanabilir. Veritabanı Altyapısı Ayarlama Danışmanı ile kullanılmak üzere doğru olayların ve sütunların yakalandığından emin olmak için, SQL Server Profiler ile sağlanan önceden tanımlanmış Ayarlama şablonunu kullanın.

SQL Server Profiler kullanarak bir izleme açtığınızda, dosya SQL Server Profiler veya SQL İzleme sistemi saklı yordamları tarafından oluşturulduysa izleme dosyasının .trc dosya uzantısına sahip olması gerekmez.

SQL Server Profiler, SQL İzleme .log dosyalarını ve genel SQL betik dosyalarını da okuyabilir. gibi .logbir dosya uzantısı olmayan bir .log SQL İzleme trace.txt dosyasını açarken, dosya biçimi olarak SQLTrace_Log belirtin.

İzleme analizine yardımcı olmak için SQL Server Profiler tarih ve saat görüntüleme biçimini yapılandırabilirsiniz.

Veri sorunlarını giderme

SQL Server Profiler'ı kullanarak, veri sorunlarını gidermek için izleme oturumlarını veya izleme dosyalarını Süre, CPU, Okumaveya Yazma veri sütunlarına göre gruplayabilirsiniz. Sorun giderebileceğiniz verilere örnek olarak kötü performans gösteren veya son derece yüksek sayıda mantıksal okuma işlemine sahip sorgular verilebilir.

İzlemeleri tablolara kaydederek ve olay verilerini sorgulamak için Transact-SQL kullanarak ek bilgiler bulunabilir. Örneğin, aşırı bekleme süresine sahip SQL:BatchCompleted olaylarını belirlemek için aşağıdakileri yürütün:

SELECT TextData,
       Duration,
       CPU
FROM trace_table_name
WHERE EventClass = 12
-- SQL:BatchCompleted events
      AND CPU < (Duration * 1000);

Sunucu, bir olayın süresini mikrosaniye cinsinden (10^-6 saniye) ve olay tarafından kullanılan CPU süresini milisaniye cinsinden (10^-3 saniye) raporlar. SQL Server Profiler grafik kullanıcı arabirimi, Süre sütununu varsayılan olarak milisaniye olarak görüntüler, ancak bir dosyaya veya veritabanı tablosuna bir izleme kaydedildiğinde, Süre sütun değeri mikrosaniye cinsinden yazılır. Bu ölçümler Transact-SQL (T-SQL) sorguları içindir.

İzlemeleri görüntülerken nesne adlarını görüntüleme

Nesne tanımlayıcısı (Nesne Kimliği) yerine bir nesnenin adını görüntülemek istiyorsanız, Nesne Adı veri sütunuyla birlikte Sunucu Adı ve Veritabanı Kimliği veri sütunlarını yakalamanız gerekir.

Nesne Kimliği veri sütununa göre gruplandırmayı seçerseniz, önce Sunucu Adı ve Veritabanı Kimliği veri sütunlarına ve ardından Nesne Kimliği veri sütununa göre gruplandırdığınızdan emin olun. Benzer şekilde, Dizin Kimliği veri sütununa göre gruplandırmayı seçerseniz, Sunucu Adı, Veritabanı Kimliğive Nesne Kimliği veri sütunlarına ve ardından Dizin Kimliği veri sütunlarına göre gruplandırdığınızdan emin olun. Nesne ve dizin kimlikleri sunucular ve veritabanları arasında (ve dizin kimlikleri için nesneler arasında) benzersiz olmadığından bu sırada gruplandırmalısınız.

İzleme içinde belirli olayları bulma

İzlemedeki olayları bulmak ve gruplandırmak için şu adımları izleyin:

  1. İz oluşturun.

    • İzlemeyi tanımlarken, Olay Sınıfı, ClientProcessIDve Başlangıç Saati veri sütunlarının yanı sıra yakalamak istediğiniz diğer veri sütunlarını da yakalayın. Daha fazla bilgi için bkz. İzleme oluşturma (SQL Server Profil Oluşturucu).

    • Yakalanan verileri Olay Sınıfı veri sütununa göre gruplandırın ve bir dosya veya tabloya ilişkin izlemeyi yakalayın. Yakalanan verileri gruplandırmak için, İzleme Özellikleri iletişim kutusunun Olay Seçimi sekmesinde Sütunları Düzenle'yi seçin. Daha fazla bilgi için bkz . İzlemede görüntülenen sütunları düzenleme (SQL Server Profiler).

    • İzleme sürecini başlatın ve uygun süre geçtikten ya da belirli sayıda olay yakalandığında durdurun.

  2. Hedef olayları bulun.

    • İzleme dosyasını veya tablosunu açın ve istenen olay sınıfının düğümünü genişletin; örneğin, Kilitlenme Zinciri. Daha fazla bilgi için bkz. İzleme dosyası açma (SQL Server Profiler) veya İzleme tablosu açma (SQL Server Profiler).

    • Aradığınız olayları bulana kadar izleme verileri arasında arama yapın (izlemedeki değerleri bulmanıza yardımcı olması için SQL Server Profiler'ın Düzenle menüsündeki Bul komutunu kullanın). İzlediğiniz olayların ClientProcessID ve Başlangıç Saati veri sütunlarındaki değerleri not edin.

  3. Olayları bağlamda görüntüleyin.

    • İzleme özelliklerini görüntüleyin ve Olay Sınıfı veri sütunu yerine ClientProcessID veri sütununa göre gruplandırın.

    • Görüntülemek istediğiniz her istemci işlem kimliğinin düğümlerini genişletin. İzlemede el ile arama yapın veya hedef olayların daha önce not edilen Başlangıç Saati değerlerini bulana kadar Bul'u kullanın. Olaylar, seçilen her istemci işlem kimliğine ait diğer olaylarla birlikte kronolojik sırada görüntülenir. Örneğin, izleme içinde yakalanan Kilitlenme ve Kilitlenme Zinciri olayları, genişletilmiş istemci işlem kimliğindeki SQL:BatchStarting olaylarının hemen ardından görünür.

Aynı teknik, gruplandırılmış olayları bulmak için de kullanılabilir. Aradığınız olayları bulduğunuzda, bunları ClientProcessID, ApplicationNameveya başka bir olay sınıfına göre gruplandırarak ilgili etkinliği kronolojik sırada görüntüleyin.