Aracılığıyla paylaş


sys.dm_exec_query_optimizer_memory_gateways (Transact-SQL)

Şunlar için geçerlidir: SQL Server 2016 (13.x) ve üzeri Azure SQL VeritabanıAzure SQL Yönetilen Örneği

Eşzamanlı sorgu iyileştirmesini azaltmak için kullanılan kaynak semaforlarının geçerli durumunu döndürür.

Sütun Tür Açıklama
pool_id int Resource Governor altındaki kaynak havuzu kimliği
name sysname Derleme geçidi adı (Küçük Ağ Geçidi, Orta Ağ Geçidi, Büyük Ağ Geçidi)
max_count int Yapılandırılan eşzamanlı derleme sayısı üst sınırı
active_count int Bu geçitteki derlemelerin şu anda etkin sayısı
waiter_count int Bu kapıdaki garson sayısı
threshold_factor bigint Sorgu iyileştirme tarafından kullanılan en yüksek bellek bölümünü tanımlayan eşik faktörü. Küçük ağ geçidi için threshold_factor, küçük ağ geçidinde erişim elde etmek için gerekli olmadan önce bir sorgu için bayt cinsinden en iyi duruma getirici bellek kullanımını gösterir. Orta ve büyük ağ geçidi için threshold_factor, bu geçit için kullanılabilir toplam sunucu belleğinin bölümünü gösterir. Geçit için bellek kullanım eşiği hesaplanırken bölen olarak kullanılır.
threshold bigint Bayt cinsinden sonraki eşik belleği. Bellek tüketimi bu eşiğe ulaşırsa bu ağ geçidine erişim elde etmek için sorgu gereklidir. Sorgunun bu ağ geçidine erişmek için gerekli olup olmadığını -1.
is_active bit Sorgunun geçerli geçidi geçirmek için gerekli olup olmadığı.

İzinler

SQL Server, sunucuda VIEW SERVER STATE izni gerektirir.

Azure SQL Veritabanı, veritabanında VERITABANı DURUMUNU GÖRÜNTÜLE izni gerektirir.

SQL Server 2022 ve üzeri için izinler

Sunucuda SUNUCU PERFORMANS DURUMUNU GÖRÜNTÜLE izni gerektirir.

Açıklamalar

SQL Server, izin verilen eşzamanlı derleme sayısını azaltmak için katmanlı bir ağ geçidi yaklaşımı kullanır. Küçük, orta ve büyük olmak üzere üç ağ geçidi kullanılır. Ağ geçitleri, bellek gerektiren daha büyük derleme tüketicileri tarafından genel bellek kaynaklarının tükenmesini önlemeye yardımcı olur.

Bir ağ geçidi sonucunda gecikmeli derleme bekler. Derlemedeki gecikmelere ek olarak, azaltılmış istekler ilişkili RESOURCE_SEMAPHORE_QUERY_COMPILE bekleme türü birikimine sahip olur. RESOURCE_SEMAPHORE_QUERY_COMPILE bekleme türü, sorguların derleme için büyük miktarda bellek kullandığını ve belleğin tükendiğini gösterebilir. Alternatif olarak, genel olarak kullanılabilir yeterli bellek olabilir, ancak belirli bir ağ geçidindeki kullanılabilir birimler tükenmiştir. sys.dm_exec_query_optimizer_memory_gateways çıkışı, sorgu yürütme planını derlemek için yetersiz bellek bulunan senaryolarda sorun gidermek için kullanılabilir.

Örnekler

A. Kaynak semaforlarıyla ilgili istatistikleri görüntüleme

SQL Server'ın bu örneği için geçerli iyileştirici bellek ağ geçidi istatistikleri nelerdir?

SELECT [pool_id], [name], [max_count], [active_count],
       [waiter_count], [threshold_factor], [threshold],
       [is_active]
FROM sys.dm_exec_query_optimizer_memory_gateways;