Aracılığıyla paylaş


Sorgu Deposu verileri nasıl toplar?

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen ÖrneğiMicrosoft Fabric'de Azure Synapse AnalyticsSQL veritabanı

SQL Server Sorgu Deposu, sorgular ve planlara ilişkin derleme ve çalışma zamanı bilgilerini sürekli olarak toplayan bir uçuş veri kaydedicisi gibi çalışır. Sorguyla ilgili veriler iç tablolarda kalıcı hale getirilir ve kullanıcılara görünümler aracılığıyla sunulur.

Views

Aşağıdaki diyagram, derleme zamanı bilgisi mavi varlıklar olarak sunulan Query Store görünümlerini ve bunların mantıksal ilişkilerini göstermektedir.

Sorgu Deposu işlem görünümleri
Açıklamaları görüntüleme

View Description
sys.query_store_query_text Veritabanında yürütülen benzersiz sorgu metinlerini sunar. Sorgu metninden önceki ve sonraki yorumlar ve boşluklar yoksayılır. Metin içindeki yorumlar ve boşluklar görmezden gelinmiyor. Toplu iş içindeki her ifade ayrı bir sorgu metin girişi oluşturur.
sys.query_context_settings Sorguların yürütüldüğü ortamı etkileyen ayarların benzersiz birleşimlerini sunar. Farklı plan etkileyen ayarlarla yürütülen sorgu metni, sorgu anahtarının bir parçası olduğundan context_settings_id Sorgu Deposu'nda ayrı bir sorgu girdisi oluşturur.
sys.query_store_query Sorgu Deposu'nda ayrı olarak izlenen ve zorlanan sorgu girdilerini sorgulayın. Tek bir sorgu metni, farklı bağlam ayarları altında yürütülürse veya saklı yordamlar ve tetikleyiciler gibi farklı Transact-SQL modüllerinin içinde değil dışında yürütülürse birden çok sorgu girdisi oluşturabilir.
sys.query_store_plan Derleme zamanı istatistikleriyle sorgu için tahmini planı sunar. Depolanan plan, kullanarak SET SHOWPLAN_XML ON elde ettiğiniz planla eşdeğerdir.
sys.query_store_runtime_stats_interval Sorgu Deposu, zamanı otomatik olarak oluşturulan zaman pencerelerine (aralıklar) böler ve yürütülen her plan için bu aralıkta toplanan istatistikleri depolar. Aralığın boyutu , İstatistik Toplama Aralığı yapılandırma seçeneği (Management Studio'da) veya INTERVAL_LENGTH_MINUTESALTER DATABASE SET Seçenekleri (Transact-SQL) kullanılarak denetlenir.
sys.query_store_runtime_stats Yürütülen planlar için toplanan çalışma zamanı istatistikleri. Yakalanan tüm ölçümler dört istatistik işlevi biçiminde ifade edilir: Ortalama, Minimum, Maksimum ve Standart Sapma.

Sorgu Deposu görünümleri hakkında daha fazla bilgi için Sorgu Deposu kullanarak performansı izlemenin "İlgili Görünümler, İşlevler ve Yordamlar" bölümüne bakın.

Sorgu işleme

Sorgu Deposu aşağıdaki önemli noktalarda sorgu işleme işlem hattıyla etkileşim kurar:

  1. Sorgu ilk kez derlendiğinde, sorgu metni ve ilk plan Sorgu Deposu'na gönderilir.

  2. Sorgu yeniden derlendiğinde plan Sorgu Deposu'nda güncelleştirilir. Yeni bir plan oluşturulursa, Sorgu Deposu sorgu için yeni plan girdisini ekler ve öncekileri yürütme istatistikleriyle birlikte tutar.

  3. Sorgu yürütme sırasında çalışma zamanı istatistikleri Sorgu Deposu'na gönderilir. Sorgu Deposu, şu anda etkin olan aralık içinde yürütülen her plan için toplu istatistikleri doğru tutar.

  4. Derleme ve yeniden derleme aşamalarını denetleme sırasında SQL Server, Sorgu Deposu'nda çalışmakta olan sorgu için uygulanması gereken bir plan olup olmadığını belirler. Zorlamalı bir plan varsa ve yordam önbelleğindeki plan zorlamalı plandan farklıysa sorgu yeniden derlenir. Bu, söz konusu sorguya PLAN HINT uygulanmış gibi aynı şekilde etkili olur. Bu işlem, kullanıcı uygulaması için saydam bir şekilde gerçekleşir.

Aşağıdaki diyagramda, önceki adımlarda açıklanan tümleştirme noktaları gösterilmiştir:

Sorgu Deposu işlemi

Remarks

G/Ç ek yükünü en aza indirmek için hafızada yeni veriler tutulur. Yazma işlemleri kuyruğa alınır ve daha sonra diske boşaltılır. Aşağıdaki diyagramda Plan Store olarak gösterilen sorgu ve plan bilgileri minimum gecikme süresiyle temizlenir. Çalışma Zamanı İstatistikleri, DATA_FLUSH_INTERVAL_SECONDS deyiminin SET QUERY_STORE seçeneğiyle tanımlanan bir süre boyunca bellekte tutulur. Management Studio Sorgu Deposu iletişim kutusunu kullanarak dahili olarak saniyelere dönüştürülen Veri Temizleme Aralığı (Dakika) değerini girebilirsiniz.

Sorgu Deposu işlem planı

İzleme bayrağı 7745 kullanılırken sistem kilitlenirse veya kapatılırsa, Sorgu Deposu, toplanan ancak henüz kalıcı hale gelmemiş çalışma zamanı verilerini, DATA_FLUSH_INTERVAL_SECONDS ile tanımlanan bir zaman penceresine kadar kaybedebilir. Sorgu yakalama performansı ile veri kullanılabilirliği arasında bir denge olarak varsayılan 900 saniye (15 dakika) değerini öneririz.

Important

Maksimum Boyut (MB) sınırı kesinlikle uygulanmaz. Depolama boyutu yalnızca Sorgu Deposu diske veri yazdığında denetlenmektedir. Bu aralık Veri Temizleme Aralığı değeri tarafından ayarlanır. Sorgu Deposu, depolama boyutu denetimleri arasındaki boyut üst sınırını aştıysa salt okunur moda geçer. Boyut Tabanlı Temizleme Modu etkinse, maksimum boyut sınırını zorlamak için temizleme mekanizması da tetiklenmiş olur.

Note

Sistem bellek baskısı altındaysa, çalışma zamanı istatistikleri tanımlanmış DATA_FLUSH_INTERVAL_SECONDStan önce diske boşaltılabilir.

Sorgu Deposu verilerinin okunduğu sırada bellek içi ve disk içi veriler saydam bir şekilde birleştirilir.

Oturum sonlandırılırsa veya istemci uygulaması yeniden başlatılırsa veya kilitlenirse sorgu istatistikleri kaydedilmez.

Sorgu Deposu işlem planı bilgileri

Ayrıca bakınız

Sorgu Deposunu Kullanarak Performans İzleme
Sorgu Deposu ile en iyi yöntem
Sorgu Deposu Katalog Görünümleri (Transact-SQL)