Azure SQL Veritabanı için Veritabanı Danışmanı performans önerileri

Şunlar için geçerlidir:Azure SQL Veritabanı

Azure SQL Veritabanı, uygulamanızla öğrenir ve uyarlar. Azure SQL Veritabanı, performansı en üst düzeye çıkarmanızı sağlayan özelleştirilmiş öneriler sağlayan bir dizi veritabanı danışmanına sahiptir. Bu veritabanı danışmanları, kullanım geçmişini sürekli olarak değerlendirir ve analiz eder ve performansı geliştirmeye yardımcı olan iş yükü desenlerine göre öneriler sağlar.

Performansa genel bakış

Azure portalındaki Performansa genel bakış, veritabanı performansınızın bir özetini sağlar ve performans ayarlama ve sorun giderme konusunda size yardımcı olur.

  • Varsa, Öneriler kutucuğu veritabanınız için ayarlama önerilerinin dökümünü sağlar. Bu kutucuğun seçilmesi sizi Performans önerisi seçeneklerine götürür.
  • Ayarlama etkinliği kutucuğu, veritabanınız için devam eden ve tamamlanan ayarlama eylemlerinin bir özetini sunarak ayarlama etkinliğinin geçmişini hızlı bir şekilde görüntülemenizi sağlar. Bu kutucuğu seçtiğinizde veritabanınız için önerilere ve ayarlama geçmişine geçebilirsiniz. Daha fazla bilgi için bkz . otomatik ayarlama.
  • Otomatik ayarlama kutucuğu, veritabanınız için otomatik ayarlama yapılandırmasını gösterir (veritabanınıza otomatik olarak uygulanan ayarlama seçenekleri). Bu kutucuğun seçilmesi otomasyon yapılandırması iletişim kutusunu açar. Veritabanı dizinlerinin ve sorgu yürütme planlarının otomatik olarak ayarlanması hakkında daha fazla bilgi için bkz . otomatik ayarlama.
  • Veritabanı sorguları kutucuğu, veritabanınızın sorgu performansının özetini gösterir (genel DTU kullanımı ve en çok kaynak tüketen sorgular). Bu kutucuğu seçtiğinizde Sorgu Performansı İçgörüleri'ne geçebilirsiniz.
  • Varsayılan grafik, veritabanı etkinliğinin son 24 saatine ilişkin özet bir bakış sağlar ve daha yeni etkinlikleri yakınlaştırma seçenekleri sunar. Yığılmış çubuk grafikler en çok kullanılan sorguları CPU'ya göre analiz eder ve çok satırlı grafik CPU, Veri GÇ ve Günlük GÇ'ye göre iş yükünü temsil eder. Grafikte her biri önbelleğe alınmış bir sorgu planını temsil eden tek tek yığılmış çubukları seçin. Sorgu Performansı İçgörüleri sayfasını inceleyin ve iş yükünüzdeki en pahalı sorguları belirleyin. Daha fazla bilgi için bkz. Sorgu Performansı Analizler.

Azure SQL veritabanınızın Azure portalı gezinti menüsündeki Akıllı Performans'ın altındaki Performansa genel bakış sayfasına gidin.

Screenshot from the Azure portal of the Performance Overview for Azure SQL Database.

Performans önerisi seçenekleri

Azure SQL Veritabanı kullanılabilir performans önerisi seçenekleri şunlardır:

Performans önerisi Tek veritabanı ve havuza alınan veritabanı desteği Örnek veritabanı desteği
Dizin önerileri oluşturma - İş yükünüzün performansını geliştirebilecek dizinlerin oluşturulmasını önerir. Evet Hayır
Dizin bırakma önerileri - Benzersiz dizinler ve uzun süredir kullanılmayan dizinler (>90 gün) dışında yedekli ve yinelenen dizinlerin günlük olarak kaldırılmasını önerir. Bu seçeneğin bölüm değiştirme ve dizin ipuçlarını kullanan uygulamalarla uyumlu olmadığını unutmayın. Kullanılmayan dizinlerin düşürülmesi Premium ve İş Açısından Kritik hizmet katmanları için desteklenmez. Evet Hayır
Sorgu önerilerini parametreleştirme (önizleme) - Sürekli olarak yeniden derlenen ancak aynı sorgu yürütme planıyla sonuçlanan bir veya daha fazla sorgunuz olduğunda zorunlu parametreleştirme önerir. Evet Hayır
Şema sorunlarını düzeltme önerileri (önizleme) - Azure SQL Veritabanı veritabanınızda gerçekleşen şemayla ilgili SQL hatalarının sayısında bir anomali fark ettiğinde şema düzeltme için Öneriler görüntülenir. Microsoft şu anda "Şema sorununu düzelt" önerilerini kullanımdan kaldırıyor. Evet Hayır

A screenshot from the Azure portal showing sample performance recommendations for Azure SQL Database.

Performans önerilerini uygulamak için bkz . Önerileri uygulama. Önerilerin durumunu görüntülemek için bkz . İzleme işlemleri.

Geçmişte uygulanan ayarlama eylemlerinin tam geçmişini de bulabilirsiniz.

Dizin önerileri oluşturma

Azure SQL Veritabanı, çalışan sorguları sürekli olarak izler ve performansı iyileştirebilecek dizinleri tanımlar. Belirli bir dizinin eksik olduğuna dair yeterli güven olduktan sonra yeni bir Dizin oluştur önerisi oluşturulur.

Azure SQL Veritabanı, dizinin zaman kazandıracağı performans kazancını tahmin ederek güven oluşturur. Tahmini performans kazanımına bağlı olarak öneriler yüksek, orta veya düşük olarak kategorize edilir.

Öneriler kullanılarak oluşturulan dizinler her zaman otomatik oluşturulan dizinler olarak işaretlenir. sys.indexes görünümüne bakarak hangi dizinlerin otomatik olarak oluşturulduğunu görebilirsiniz. Otomatik oluşturulan dizinler, DEĞİŞTİRME/YENİDEN ADLANDIRMA komutlarını engellemez.

Otomatik olarak oluşturulmuş dizini olan sütunu üzerine bırakmaya çalışırsanız, komut geçer. Otomatik oluşturulan dizin de komutuyla bırakılır. Normal dizinler, dizine alınan sütunlarda ALTER/RENAME komutunu engeller.

Dizin oluşturma önerisi uygulandıktan sonra Azure SQL Veritabanı sorguların performansını temel performansla karşılaştırır. Yeni dizin performansı artırırsa, öneri başarılı olarak işaretlenir ve etki raporu kullanılabilir. Dizin performansı iyileştirmediyse otomatik olarak geri döndürülür. Azure SQL Veritabanı önerilerin veritabanı performansını geliştirmesini sağlamak için bu işlemi kullanır.

Herhangi bir dizin oluşturma önerisi, bir veritabanı veya havuzun kaynak kullanımı yüksekse önerinin uygulanmasına izin vermeyecek bir geri alma ilkesine sahiptir. Geri kapatma ilkesi CPU, Veri GÇ, Günlük GÇ ve kullanılabilir depolamayı dikkate alır.

CPU, veri GÇ veya günlük GÇ değeri önceki 30 dakika içinde %80'in üzerindeyse dizin oluşturma önerisi ertelenmiş olur. Kullanılabilir depolama alanı dizin oluşturulduktan sonra %10'un altında olacaksa, öneri hata durumuna geçer. Birkaç gün sonra otomatik ayarlama yine de dizinin yararlı olacağına inanıyorsa, işlem yeniden başlar.

Bu işlem, dizin oluşturmak için yeterli kullanılabilir depolama alanı olana kadar veya dizin artık yararlı olarak görülene kadar yineler.

Dizin önerilerini bırakma

Azure SQL Veritabanı, eksik dizinleri algılamanın yanı sıra, mevcut dizinlerin performansını sürekli olarak analiz eder. Bir dizin kullanılmıyorsa Azure SQL Veritabanı, dizinin bırakılmasını önerir. İki durumda, bir indeksin bırakılması önerilir:

  • Dizin, başka bir dizinin yinelemesidir (aynı dizine alınmış ve dahil edilmiş sütun, bölüm şeması ve filtreler).
  • Dizin uzun bir süre (>90 gün) boyunca kullanılmamıştır.

Dizin bırakma önerileri, uygulamadan sonra doğrulamadan da geçer. Performansta iyileşme olursa, etki raporu kullanılabilir. Performans düşüş olursa, öneri geri alınır.

Sorgu önerilerini parametreleştirme (önizleme)

Sürekli yeniden derlenen ancak aynı sorgu yürütme planıyla sonuçlanan bir veya daha fazla sorgunuz olduğunda sorgu önerileri parametreleştirin. Bu koşul, zorlamalı parametreleştirme uygulamak için bir fırsat oluşturur. Zorlamalı parametreleme de sorgu planlarının gelecekte önbelleğe alınmasına ve yeniden kullanılmasına olanak sağlayarak performansı artırır ve kaynak kullanımını azaltır.

Bir yürütme planı oluşturmak için başlangıçta her sorgu derlenmelidir. Oluşturulan her plan plan önbelleğine eklenir. Aynı sorgunun sonraki yürütmeleri bu planı önbellekten yeniden kullanabilir ve bu da ek derleme gereksinimini ortadan kaldırır.

Parametreleştirilmemiş değerler her değiştiğinde yürütme planı yeniden derlendiği için, parametreleştirilmemiş değerlere sahip sorgular performans ek yüküne neden olabilir. Çoğu durumda farklı parametre değerlerine sahip sorgular aynı yürütme planlarını oluşturur. Ancak bu planlar yine de plan önbelleğine ayrı ayrı eklenir.

Yürütme planlarını yeniden derleme işlemi veritabanı kaynaklarını kullanır, sorgu süresini artırır ve plan önbelleğinde taşmaya yol açar. Bu olaylar da planların önbellekten çıkarılmasına neden olur. Bu davranış, veritabanında zorlamalı parametreleştirme seçeneği ayarlanarak değiştirilebilir.

Bu önerinin etkisini tahmin etmeye yardımcı olmak için gerçek CPU kullanımı ile öngörülen CPU kullanımı (öneri uygulanmış gibi) arasında bir karşılaştırma sağlanır. Bu öneri, CPU tasarrufu kazanmanıza yardımcı olabilir. Ayrıca, plan önbelleği için sorgu süresini ve ek yükü azaltmanıza yardımcı olabilir; bu da planların daha fazlasının önbellekte kalabileceği ve yeniden kullanılabilmesi anlamına gelir. Uygula komutunu seçerek bu öneriyi hızla uygulayabilirsiniz.

Bu öneriyi uyguladıktan sonra, veritabanınızda dakikalar içinde zorlamalı parametreleştirmeyi etkinleştirir. Yaklaşık 24 saat süren izleme işlemini başlatır. Bu dönemden sonra doğrulama raporunu görebilirsiniz. Bu rapor, öneri uygulanmadan 24 saat önce ve sonra veritabanınızın CPU kullanımını gösterir. Azure SQL Veritabanı Danışmanı, performans regresyonu algılanırsa uygulanan öneriyi otomatik olarak geri döndüren bir güvenlik mekanizmasına sahiptir.

Şema sorunları önerilerini düzeltme (önizleme)

Önemli

Microsoft şu anda "Şema sorununu düzelt" önerilerini kullanımdan kaldırıyor. Daha önce ele alınan "Şema sorununu düzelt" önerilerini içeren şema sorunları da dahil olmak üzere veritabanı performans sorunlarınızı izlemek için Akıllı Analizler kullanmanızı öneririz.

şema sorunlarını düzeltme önerileri, Azure SQL Veritabanı veritabanınızda gerçekleşen şemayla ilgili SQL hatalarının sayısında bir anomali fark ettiğinde görünür. Bu öneri genellikle veritabanınız bir saat içinde şemayla ilgili birden çok hatayla (geçersiz sütun adı, geçersiz nesne adı vb.) karşılaştığında görünür.

"Şema sorunları", söz dizimi hataları sınıfıdır. SQL sorgusunun tanımı ve veritabanı şemasının tanımı hizalanmadığında oluşur. Örneğin, sorgu tarafından beklenen sütunlardan biri hedef tabloda eksik olabilir veya tam tersi olabilir.

"Şema sorununu düzelt" önerisi, Azure SQL Veritabanı veritabanınızda gerçekleşen şemayla ilgili SQL hatalarının sayısında bir anomali fark ettiğinde görünür. Aşağıdaki tabloda şema sorunlarıyla ilgili hatalar gösterilmektedir:

SQL hata kodu Mesaj
201 Yordam veya '' işlevi, sağlanmayan '' parametresini bekler.
207 Geçersiz '*' sütun adı.
208 Geçersiz '*' nesne adı.
Kategori 213 Sütun adı veya sağlanan değer sayısı tablo tanımıyla eşleşmiyor.
2812 '*' saklı yordamı bulunamadı.
8144 Yordam veya işlev * çok fazla bağımsız değişken belirtildi.

Özel uygulamalar

Geliştiriciler, Azure SQL Veritabanı için performans önerilerini kullanarak özel uygulamalar geliştirmeyi göz önünde bulundurabilir. Bir veritabanı için portalda listelenen tüm önerilere Get-AzSqlDatabaseRecommendedAction API'sini kullanarak erişilebilir.

Sonraki adımlar

  • Veritabanı dizinlerinin ve sorgu yürütme planlarının otomatik olarak ayarlanması hakkında daha fazla bilgi için bkz. otomatik ayarlama Azure SQL Veritabanı.
  • Otomatik tanılama ve performans sorunlarının kök neden analizi ile veritabanı performansını otomatik olarak izleme hakkında daha fazla bilgi için bkz. Azure SQL Intelligent Analizler.
  • En çok sorgularınızın performans etkisini öğrenmek ve görüntülemek için bkz. Sorgu Performansı Analizler.