- Ana Sayfa
- Veritabanları
- SQL İzi
SQL Server Trace ve SQL Profiler'ın denetim için kullanılması
Bu sayfada
- SQL Trace nedir?
- SQL Trace'in temel özellikleri ve kullanım alanları
- SQL Server Profiler'ı kullanarak SQL Trace'i etkinleştirin
- SQL Trace verilerinin SQL Server'daki bir dosyaya kaydedilmesi
- SQL Trace'in denetim için etkinleştirilmesi
- SQL Trace dosyalarını görüntüleme
- SQL Server Profiler nedir?
- Neden denetim için SQL Trace ve SQL Server Profiler'a güveneek hareket etmemelisiniz?
- SQL Server'ınızı denetlemek için en iyi alternatif
SQL Trace nedir?
SQL Trace, SQL Server'da sunulan ve SQL örneğinizde gerçekleştirilen olayları izleyebilen ve denetleyebilen bir özelliktir. Olaylar, varsayılan olarak \MSSQL\LOG dizininde depolanan bir iz dosyasına kaydedilir.
SQL Trace ile olayları izlemek ve günlük ayrıntı düzeylerini hassas bir biçimde kontrol etmek için birçok seçenek yapılandırabilirsiniz. Bu, iz oluşturma sürecinin ayrıntılı bir biçimde kontrol altında tutulması için grafiksel bir arayüz sağlayan SQL Server Management Studio veya SQL Server Profiler aracılığıyla yönetilebilir.
SQL Trace'in temel özellikleri ve kullanım alanları:
- Performans ince ayarı: SQL Trace, SQL sorgularının yürütme süresini ve kaynak kullanımını analiz ederek veritabanı performansınızda ince ayar yapılmasına imkan verir.
- Hızlı sorun giderme: Veritabanında hızlı sorun giderme ve çözümleme yapmak ve SQL Server kesinti süresini en aza indirmek için SQL Trace'in oluşturduğu hata günlüklerini analiz edin.
- Performans üzerindeki etkiyi anlama: SQL Trace, SQL ifadelerinin uygulama ve sistem performansınızı nasıl etkilediği ile ilgili içgörüler sunarak potansiyel sıkıntıları tanımlayabilmenizi sağlar.
- Uyumluluğun kolaylaştırılması: Denetim gereklilikleriyle uyumluluğu sağlamaya devam etmek için SQL Trace'i kullanın. Veritabanı etkinliklerinin ayrıntılı günlük kaydı, uyumluluk yönündeki çalışmaları kolaylaştırarak net ve kronolojik bir kayıt sağlar.
SQL Trace'i SQL Server Profiler'ı kullanarak etkinleştirmek için aşağıdaki adımları izleyin:
Adım 1: SQL Server Management Studio'yu başlatın ve Araçlar > SQL Server Profiler seçimini yapın. Dosya seçeneğine tıklayın ve Yeni İz'i seçin.

Adım 2: İz Özellikleri penceresinde, İz adı alanına iz için açıklayıcı bir ad girin. Bu eylem sonrasında, SQL Server örneğinize bağlanmanız istenir. Çalıştır seçeneğine tıklayın.

Adım 3: Bu iz verilerinin nereye kaydedileceğini seçin.
-
Dosyaya kaydet: İzi bir dosyaya kaydetmek için, Dosyaya kaydet seçeneğinin yanındaki kutuyu işaretleyin; bir dosya yolu belirtin ve iz dosyası için maksimum dosya boyutunu ayarlayın. Varsayılan değer 5 MB'dir.

-
Tabloya kaydet: İzi bir tabloya kaydetmek için, Tabloya kaydet seçeneğinin yanındaki kutuyu işaretleyin ve iz verilerinin saklanacağı tablonun adı ve boyutunu sınırlandırmak için maksimum satır sayısını belirtin.


Adım 4: Olaylar Seçimi sekmesine geçin. İstediğiniz onay kutularını işaretleyerek belirli olayların kaydedilmesi için seçim yapabilir ya da tüm veritabanı etkinliğini kayda almak üzere tüm olayların gösterilmesini seçebilirsiniz. İsteğe bağlı olarak, ayrıntılı analiz için oluşturulacak ize dahil edilecek veri sütunlarını tanımlayabilirsiniz. Veritabanı etkinliğini kaydetmeye başlamak için Çalıştır seçeneğine tıklayın.

Adım 5: İz oluşturmayı başlatın. İz ayarlarını yapılandırdıktan sonra, Başlat veya Çalıştır seçeneğine tıklayarak iz oluşturmayı başlatın. İz, SQL sunucusundaki olayları belirtilen ayarlara uygun olarak etkin bir biçimde izleyerek kaydedecektir.
Adım 6: İz oluşturmayı durdurun. Verileri toplamayı tamamladığınızda, izlemeyi durdurmak için Seçili İzi Durdur düğmesine tıklayın.

SQL İz verilerini SQL Server'daki bir dosyaya nasıl kaydederim?
SQL İz verilerini SQL Server'daki bir dosyaya kaydetmek için Dosya seçeneğine tıklayın, Farklı Kaydet seçimini yapın ve ardından iz verilerinin doğru şekilde kaydedilerek istediğiniz konumda saklandığından emin olmak için İz Dosyası'nı seçin. Kaydetme sonrasında, SQL Server etkinliği hakkında değerli içgörüler edinmek için SQL Server Profiler veya başka analiz araçlarını kullanarak iz verilerini analiz edebilirsiniz. Bu işlem, veritabanı performansınızı etkin bir biçimde izleyerek, tanılama yapmanızı ve optimizasyonu sağlamanızı mümkün kılar.

SQL Trace'in denetim için etkinleştirilmesi
Bir iz oluştururken, İz Özellikleri iletişim kutusunda değişiklikler yaparak kaydetmek istediğiniz olayları belirtebilirsiniz. İletişim kutusunun Genel sekmesinde, iz adı, iz dosyasının depolama konumu ve iz durdurma zamanı gibi bilgileri belirtebilirsiniz.
- Olaylar Seçimi sekmesinde, izinizde kaydetmek istediğiniz olayları seçebilir veya bunların seçimini kaldırabilirsiniz.
- Aynı sekmede, Sütun Filtreleri seçeneğine tıklayarak filtreler oluşturun.
- Filtreyi Düzenle iletişim kutusu görüntülenir.
- Sağlanan karşılaştırma işleçlerini kullanarak filtre özelliklerini girebilirsiniz.
- Değişiklikleri kaydedin.
Böylece izler belirtilen depolama konumuna filtreler içeren biçimde toplanır.

İz dosyalarını görüntüleme
İz dosyaları, kaydedilen olayları tablo biçiminde görüntüleyen fn_trace_gettable işlevi ile okunabilir. Kayıtlar SQL sorguları kullanılarak toplanabilir ve aranabilir. İz dosyalarının büyüklüğü fazladır ve denetim izi oluşturmak için ilgi çekici alanları ayıklamak amacıyla sorguları manuel olarak yazmak zahmetli olabilir. Ayrıca, iz dosyalarını görüntülemek için SQL Server Profiler'ı da kullanabilirsiniz.
SQL Server Profiler nedir?
SQL Server Profiler, saklanan kayıtları depolayarak, alarak ve denetleyerek iz dosyalarınıza erişim için grafikli bir kullanıcı arayüzü sağlar. SQL Profiler'ın temel işlevleri, SQL Server etkinliklerini izlemek, genel durum ile ilgili içgörüler sağlamak ve SQL örneğinizin performansını etkileyen unsurları tanımlamaktır.
SQL Profiler, iz kayıtlarını kaydetmenize, bunları sonraki kayıtlarla karşılaştırarak çalışma ile ilgili sorunları gidermenize (başka deyişle, sorgunun yavaş çalıştırılması) ve performansı artırmak üzere ince ayarlar yapmanıza imkan vererek iz dosyalarınıza dair görünürlük sağlar.
SQL Trace ve SQL Server Profiler'da denetim ile ilgili olarak karşılaşılan zorluklardan bazıları nelerdir?
SQL izleri, özellikle iz oluşturma düzeyi ayrıntılı bir moda ayarlandığında ya da uzun süre çalışır halde bırakıldığında yüksek miktarda veri üretebilir. SQL izi oluşturma, günlük kaydı için ekstra CPU kaynağı ve bellek kullanılmasının gerekmesi nedeniyle veritabanı performansında kayda düzeyde yavaşlamaya ve ayrıca disk G/Ç'sinin artmasına neden olabilir. İz oluşturmayı ne zaman başlatıp durduracağınıza karar vermek, neler için iz oluşturulacağını yapılandırmak ve toplanan verileri analiz etmek zahmetli olabilir. İz dosyaları hassas bilgiler içerebileceğinden güvenlik ile ilgili riskler de endişe yaratabilir.
Ayrıca, kayıtları tek bir iz dosyasında, yalnızca belirtilen veri sınırına kadar (yani 20 MB) saklayabilirsiniz. İz dosyaları, yenilendiklerinden uzun süre boyunca saklanmaları mümkün değildir. Buna ek olarak, saklanabilecek maksimum izleme dosyası sayısı ile ilgili de bir sınırlama uygulanmaktadır (en fazla beş dosya). Maksimum seviyeye ulaşıldığında, en eski iz dosyası bellekten silinir. Kayıtları uzun süreli olarak saklamanız beklendiğinden, bu, denetim için elverişli değildir. SQL Server Profiler yalnızca farklı etkinlikler için izler ayrı ayrı yapılandırıldığında kullanılabilir. İz dosyalarının SQL Server Profiler ile manuel olarak analiz edilmesi zaman alır.
Sunucu performansını etkileyebilecek aşırı yüklenmeyi önlemek açısından SQL Trace'in kapsamı ile süresinin etkin olarak yönetilmesi esastır. Analiz için yeterli miktarda verinin kaydedilmesi ve kaynak kullanımının en aza indirmek arasında bir denge kurulması gerekir.
Microsoft, Microsoft.SqlServer.Management.Trace ad alanı ve SQL Server Trace ve Replay nesneleriyle birlikte SQL Trace ve SQL Server Profiler'ı kullanımdan kaldırmıştır. Trace ve Server Profiler özelliklerinin SQL Server'ın ileride sunulacak olan sürümlerinden kaldırılması da muhtemeldir.
SQL server'ınızı denetlemek için en iyi alternatif
SQL iz oluşturma yoluyla toplanan veriler karmaşık ve hacimli olabilir; bu da verilerin doğru analiz edilmesini ve yorumlanmasını zorlaştırır. İz günlüklerinin yanlış yorumlanması, hatalı sonuçlar elde edilmesine ve performans ince ayarı veya hata ayıklama çalışmalarının yanlış yönlendirilmesine neden olabilir. Büyük miktarda iz verilerinin neden olduğu depolama yükü oldukça fazla olabilir ve bu da veri yönetiminin karmaşıklığını artırabilir.
SQL sunucuları hacimli günlükler üretir ve güvenlik ve uyumluluğu sağlamak için bunların yakından izlenmesi gerekir. Denetim için SQL Trace ve SQL Server Profiler'a güvenerek hareket etmek yerine, günlükleri SQL sunucunuzdan etkili bir biçimde toplayarak ayrıştırabilen ve analiz edebilen bir günlük yönetimi çözümünden faydalanabilirsiniz.
EventLog Analyzer, SQL Server günlüklerini etkili bir biçimde toplayarak analiz edebilen kapsamlı bir günlük yönetim çözümüdür. DDL ve DML etkinliklerini, sunucu hesap yönetimini ve güvenlik saldırılarını kapsayan sezgisel ve ayrıntılı raporlar oluşturur. EventLog Analyzer tarafından sağlanan denetim raporları arasında sütun değişiklikleri, silme işlemleri, güvenlik değişiklikleri, izinler, son oturum açma zamanları, oturum açma bilgileri, hassas verilerin yetkisiz olarak oluşturulan kopyaları, hesap kilitlemeleri, depolama ortamının açığa çıkarılması, SQL eklemeleri ve hizmet reddi saldırıları ile ilgili bilgiler yer alır. Buna ek olarak, olağan dışı etkinlikleri algılamak, tehditleri azaltmak ve saldırıları önlemek için gerçek zamanlı e-posta ve SMS bildirimleri alacak biçimde uyarılar yapılandırmanız da mümkündür. Daha iyi günlük yönetimi için EventLog Analyzer tarafından sunulan diğer raporları inceleyin.