Share via


sys.dm_exec_query_resource_semaphores (Transact-SQL)

傳回目前查詢資源信號狀態的資訊。sys.dm_exec_query_resource_semaphores 提供一般查詢執行的記憶體狀態,並可讓您判斷系統是否可以存取足夠的記憶體。這個檢視可以補充從 sys.dm_os_memory_clerks 取得的記憶體資訊,以提供完整的伺服器記憶體狀態。sys.dm_exec_query_resource_semaphores 會為一般資源信號傳回一個資料列,並為小型查詢資源信號傳回另一個資料列。

資料行名稱

資料類型

描述

resource_semaphore_id

smallint

資源信號的非唯一識別碼。一般資源信號為 0,而小型查詢資源信號則為 1。

附註附註
在 SQL Server 2008 之前的 SQL Server 版本中,此識別碼是唯一的。這項變更可以影響疑難排解的查詢執行。如需詳細資訊,請參閱本主題後面的<備註>一節。

target_memory_kb

bigint

授與使用目標 (以 KB 為單位)。

max_target_memory_kb

bigint

最大的可能目標 (以 KB 為單位)。小型查詢資源信號為 NULL。

total_memory_kb

bigint

資源信號擁有的記憶體 (以 KB 為單位)。如果系統有記憶體不足的壓力,或是如果經常強制授與最小記憶體,這個值可能大於 target_memory_kbmax_target_memory_kb 的值。總記憶體是可用記憶體和授與記憶體的總和。

available_memory_kb

bigint

新授與的可用記憶體 (以 KB 為單位)。

granted_memory_kb

bigint

授與的總記憶體 (以 KB 為單位)。

used_memory_kb

bigint

授與記憶體的實際使用部分 (以 KB 為單位)。

grantee_count

int

已滿足其授與的使用中查詢數目。

waiter_count

int

等候要滿足授與的查詢數目。

timeout_error_count

bigint

伺服器啟動後逾時錯誤的總數。小型查詢資源信號為 NULL。

forced_grant_count

bigint

伺服器啟動後強制最小記憶體授與的總數。小型查詢資源信號為 NULL。

pool_id

int

這個資源信號所屬資源集區的識別碼。

Permissions

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

備註

使用包含 ORDER BY 或彙總之動態管理檢視的查詢,有可能會增加記憶體耗用量,但也因此可協助它們正在進行疑難排解的問題。

使用 sys.dm_exec_query_resource_semaphores 來進行疑難排解,但是不要在將會使用 SQL Server 未來版本的應用程式中加入它。

資源管理員功能可讓資料庫管理員在資源集區間散發伺服器資源,最多可達 20 個集區。在 SQL Server 2008 中,每個集區的行為都像是一個小型的獨立伺服器執行個體,而且需要 2 個信號。從 sys.dm_exec_query_resource_semaphores 傳回的資料列數目最多可達 SQL Server 2005 中所傳回之資料列的 20 倍以上。