Share via


sys.dm_exec_query_memory_grants

新增: 2006 年 4 月 14 日

傳回已取得記憶體授權或是仍然需要記憶體授權來執行的查詢。不需要等候記憶體授權的查詢將不會出現在此檢視中。

資料行名稱 資料類型 描述

session_id

smallint

執行此查詢的工作階段識別碼 (SPID)。

request_id

int

要求的識別碼。在工作階段的內容中是唯一的。

scheduler_id

int

排程此查詢的排程器識別碼。

dop

smallint

此查詢之平行處理原則的程度。

request_time

datetime

此查詢要求記憶體授權的日期和時間。

grant_time

datetime

授與記憶體給此查詢的日期和時間。如果尚未授與記憶體,則為 NULL。

requested_memory_kb

bigint

要求的記憶體總數 (以 KB 為單位)。

granted_memory_kb

bigint

實際授與的記憶體總數 (以 KB 為單位)。如果尚未授與記憶體,則可能為 NULL。就一般情況而言,此值應該與 requested_memory_kb 相同。對於索引建立,除了一開始授與的記憶體之外,伺服器還可以視需求額外授與記憶體。

required_memory_kb

bigint

執行此查詢所需的最小記憶體 (以 KB 為單位)。requested_memory_kb 與此數目相同或大於此數目。

used_memory_kb

bigint

目前使用的實體記憶體 (以 KB 為單位)。

max_used_memory_kb

bigint

到目前為止使用的最大實體記憶體 (以 KB 為單位)。

query_cost

float

估計的查詢成本。

timeout_sec

int

此查詢放棄記憶體授權要求之前的逾時秒數。

resource_semaphore_id

smallint

此查詢正在等候的資源信號識別碼。

queue_id

smallint

此查詢等候記憶體授權時所在的等候中佇列識別碼。如果已經授與記憶體,則為 NULL。

wait_order

int

在指定的 queue_id 內等候中查詢的順序。如果其他查詢取得記憶體授權或逾時,則給定查詢的此值可能會變更。如果已經授與記憶體,則為 NULL。

is_next_candidate

bit

下一個記憶體授權的候選。

1 = 是

0 = 否

NULL = 已經授與記憶體。

wait_time_ms

bigint

等候時間 (以毫秒為單位)。如果已經授與記憶體,則為 NULL。

plan_handle

varbinary(64)

此查詢計劃的識別碼。使用 sys.dm_exec_query_plan 來擷取實際的 XML 計劃。

sql_handle

varbinary(64)

此查詢的 Transact-SQL 文字識別碼。使用 sys.dm_exec_sql_text 取得實際的 Transact-SQL 文字。

Permissions

需要伺服器的 VIEW SERVER STATE 權限。

備註

查詢逾時的一般偵錯狀況可能如下所示:

  • 使用 sys.dm_os_memory_clerkssys.dm_os_sys_info 以及各種效能計數器檢查整個系統記憶體狀態。
  • type = 'MEMORYCLERK_SQLQERESERVATIONS' 所在的 sys.dm_os_memory_clerks 中檢查執行查詢的記憶體保留。
  • 使用 sys.dm_exec_query_memory_grants 檢查等候授權的查詢。
  • 使用 sys.dm_exec_requests 進一步檢查需要大量記憶體的查詢。
  • 如果懷疑有失控的查詢,請從 sys.dm_exec_query_plan 檢查顯示計劃,並從 sys.dm_exec_sql_text 檢查批次文字。

使用含有 ORDER BY 或彙總之動態管理檢視的查詢,有可能增加記憶體耗用量,但也因此可協助它們正在進行疑難排解的問題。sys.dm_exec_query_memory_grants 是 SQL Server 2005 Service Pack 1 中的新功能。在 sys.dm_exec_query_memory_grants 中的資訊是 SQL Server 2005 的內部實作特有的,而且會在下一版的 SQL Server 中改變。使用 sys.dm_exec_query_memory_grants 來進行疑難排解,但是不要在將會使用 SQL Server 未來版本的應用程式中加入它。

請參閱

參考

sys.dm_exec_query_resource_semaphores
執行相關動態管理檢視和函數

說明及資訊

取得 SQL Server 2005 協助