sys.dm_exec_query_memory_grants (Transact-SQL)
Sorgu, bir bellek grant alınan ya da bir bellek verme için hala gerektiren hakkında bilgi verir yürütmek.Bir bellek grant üzerinde beklemeniz gerekmez sorgularını bu görünümde görüntülenir.
Sütun adı |
Veri türü |
Açıklama |
---|---|---|
session_id |
smallint |
KIMLIĞI'ni (SPID) Bu sorgu çalıştığı oturumun. |
request_id |
int |
Istek KIMLIĞI.Benzersiz oturum bağlamında. |
scheduler_id |
int |
Bu sorgu zamanlama Zamanlayıcı TEŞHIS kodu |
dop |
smallint |
Bu sorgunun parallelism derecesi. |
request_time |
datetime |
Tarih ve saat saat bu sorgu, bellek grant istedi. |
grant_time |
datetime |
Tarih ve saat'ı bu sorgu için bellek ne zaman verildi.Bellek henüz izin verilirse NULL. |
requested_memory_kb |
bigint |
Toplam kilobayt cinsinden bellek miktarı istedi. |
granted_memory_kb |
bigint |
Bellek gerçekten kilobayt cinsinden verilen toplam tutarı içerir.Bellek henüz izin verilirse, null DEĞERINI alabilir.Normal bir durum için bu değeri aynı olmalıdır requested_memory_kb.Dizini oluşturmak için sunucu başlangıçta verilen bellek isteğe bağlı ek bellek verebilir. |
required_memory_kb |
bigint |
Minimum memory required to run this query in kilobytes.requested_memory_kb is the same or larger than this amount. |
used_memory_kb |
bigint |
Fiziksel belleğin kilobayt bu anda kullanılır. |
max_used_memory_kb |
bigint |
Bu süre, kilobayt olarak kullanılacak en fazla fiziksel bellek. |
query_cost |
float |
Sorgu maliyet tahmini. |
timeout_sec |
int |
Bu sorgu önce saniye cinsinden saat aşımı kadar bellek grant isteği verir. |
resource_semaphore_id |
smallint |
Bu sorgu için bekliyor demektir kaynak semafor benzer KIMLIĞI.
Note:
Bu sürümleri içinde benzersizdir SQL Server daha eski olan SQL Server 2008. Bu değişiklik, sorun giderme sorgu yürütme etkileyebilir.Daha fazla bilgi için bu konunun ilerleyen bölümlerindeki "Uyarılar" bölümüne bakın.
|
queue_id |
smallint |
Burada bu sorgu, bellek verir için bekleyeceği bekleyen sıra KIMLIĞI.Bellek önceden verilmiş, NULL. |
wait_order |
int |
Bekletmeyi sorgu içinde belirtilen sıralı queue_id.Diğer sorgular bellek verir veya saat aşımına alırsanız, bu değer belirli bir sorgu için değiştirebilirsiniz.Bellek önceden verilmiş, NULL. |
is_next_candidate |
bit |
Sonraki bellek verme için aday. 1 = Yes 0 = No NULL = bellek zaten verilir. |
wait_time_ms |
bigint |
Mili saniye cinsinden bir saat bekleyin.Bellek önceden verilmiş, NULL. |
plan_handle |
varbinary(64) |
Bu sorgu planı tanımlayıcısı.Kullanımı sys.dm_exec_query_plan gerçek XML ayıklamak üzere planlayın. |
sql_handle |
varbinary(64) |
Tanımlayıcısı Transact-SQL Bu sorgu için metin sağlar. Kullanımı sys.dm_exec_sql_text almanın gerçek Transact-SQL metin. |
group_id |
int |
Için KIMLIK iş yükü grubu bu sorgu çalıştığı. |
pool_id |
int |
Bu iş yükünü grubun ait olduğu kaynak havuzunun TEŞHIS kodu |
is_small |
tinyint |
Zaman küme 1, bu atama, küçük bir kaynak semafor kullandığını gösterir.0 Olarak ayarlandığında normal bir semafor kullanıldığını gösterir. |
ideal_memory_kb |
bigint |
Her şeyi fiziksel belleğe sığmayacak bellek grant, kilobayt (KB) olarak boyutu.Bu önem tahminle ilgili temel alır. |
İzinler
Sunucudaki SUNUCU DURUM VIEW iznine gerek duyar.
Remarks
Sorgu saat aşımı için tipik bir hata ayıklama senaryosu, aşağıdaki gibi görünebilir:
Genel bellek durumu sistemiyle denetleyin. sys.dm_os_memory_clerks, sys.dm_os_sys_infove çeşitli performans sayaçları.
Sorgu yürütme bellek ayırmalar denetleme sys.dm_os_memory_clerks where type = 'MEMORYCLERK_SQLQERESERVATIONS'.
Onay için sorgular kullanarak verir için bekleniyor sys.dm_exec_query_memory_grants.
Daha fazla bellek yoğun sorgularını kullanarak inceleyin. sys.dm_exec_requests.
Kaçan sorguda şüphelenildi, gelen gösterim planı inceleyin. sys.dm_exec_query_plan ve toplu iş iş iş metnisys.dm_exec_sql_text.
ORDER BY veya toplamları içeren dinamik bir yönetim görünümleri kullanan sorguları bellek tüketimini artırır ve böylece bunlar sorun giderme sorunu neden.
Kaynak Governor özelliği, bir veritabanı yöneticisi, sunucu kaynaklarının kaynak havuzları, en fazla, 20 havuzları arasında dağıtmak etkinleştirir.Içinde SQL Server 2008, her bir küçük bağımsız sunucu örnek gibi davranır ve 2 semafor gerektirir. Tarafından döndürülen satır sayısı sys.dm_exec_query_resource_semaphores döndürülen satır en çok 20 kez olabilirSQL Server 2005.