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;
İlgili içerik
- sistem dinamik yönetim görünümlerini
- Yürütmeyle İlgili Dinamik Yönetim Görünümleri ve İşlevleri (Transact-SQL)
- SQL Server 2005 bellek kullanımını izlemek için DBCC MEMORYSTATUS komutunu kullanma
- SQL Server 2014'teki RESOURCE_SEMAPHORE_QUERY_COMPILE büyük sorgu derlemesi bekler