Aracılığıyla paylaş


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.

NoteNote:
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.