sys.dm_os_memory_nodes (Transact-SQL)

適用於:SQL ServerAzure SQL DatabaseAzure SQL 受控執行個體Azure Synapse AnalyticsAnalytics Platform System (PDW)

SQL Server 內部的配置會使用 SQL Server 記憶體管理員。 追蹤進程記憶體計數器與 sys.dm_os_process_memory 和內部計數器之間的差異,可以指出 SQL Server 記憶體空間中外部元件的記憶體使用量。

每個實體 NUMA 記憶體節點會建立節點。 這些可能與sys.dm_os_nodes 中的 CPU 節點不同。

不會追蹤透過 Windows 記憶體配置常式直接完成的配置。 下表提供僅使用 SQL Server 記憶體管理員介面完成之記憶體配置的相關資訊。

注意

若要從 Azure Synapse Analytics 或 Analytics Platform System (PDW) 呼叫此專案,請使用名稱 sys.dm_pdw_nodes_os_memory_nodes 。 Azure Synapse Analytics 的無伺服器 SQL 集區不支援此語法。

資料行名稱 資料類型 描述
memory_node_id smallint 指定記憶體節點的識別碼。 與 sys.dm_os_memory_clerks memory_node_id相關 。 不可為 Null。
virtual_address_space_reserved_kb bigint 指出虛擬位址保留的數目,以 KB 為單位,這兩者都未認可或對應至實體頁面。 不可為 Null。
virtual_address_space_committed_kb bigint 指定已認可或對應至實體頁面的虛擬位址數量,以 KB 為單位。 不可為 Null。
locked_page_allocations_kb bigint 指定 SQL Server 鎖定的實體記憶體數量,以 KB 為單位。 不可為 Null。
single_pages_kb bigint 適用於:SQL Server 2008 (10.0.x) 到 SQL Server 2008 R2 (10.50.x)。

以 KB 為單位的已認可記憶體數量,由在此節點上執行的執行緒使用單一頁面配置器來配置。 此記憶體是從緩衝集區配置。 這個值表示發生配置要求的節點,而不是滿足配置要求的實際位置。
pages_kb bigint 適用於:SQL Server 2012 (11.x) 和更新版本。

以 KB 為單位,指定記憶體管理員頁面配置器從這個 NUMA 節點配置的已認可記憶體數量。 不可為 Null。
multi_pages_kb bigint 適用於:SQL Server 2008 (10.0.x) 到 SQL Server 2008 R2 (10.50.x)。

以 KB 為單位的已認可記憶體數量,由在此節點上執行的執行緒使用多頁配置器來配置。 此記憶體來自緩衝集區外部。 這個值表示發生配置要求的節點,而不是滿足配置要求所在的實體位置。
shared_memory_reserved_kb bigint 指定已從這個節點保留的共用記憶體數量,以 KB 為單位。 不可為 Null。
shared_memory_committed_kb bigint 指定此節點上已認可的共用記憶體數量,以 KB 為單位。 不可為 Null。
cpu_affinity_mask bigint 適用於:SQL Server 2012 (11.x) 和更新版本。

僅供內部使用。 不可為 Null。
online_scheduler_mask bigint 適用於:SQL Server 2012 (11.x) 和更新版本。

僅供內部使用。 不可為 Null。
processor_group smallint 適用於:SQL Server 2012 (11.x) 和更新版本。

僅供內部使用。 不可為 Null。
foreign_committed_kb bigint 適用於:SQL Server 2012 (11.x) 和更新版本。

指定來自其他記憶體節點的認可記憶體數量,以 KB 為單位。 不可為 Null。
target_kb bigint 適用於:SQL Server 2016 (13.x) 和更新版本,以及 SQL Database。

以 KB 為單位,指定記憶體節點的記憶體目標。
pdw_node_id int 適用於:Azure Synapse Analytics、Analytics Platform System (PDW)

此散發節點的識別碼。

權限

在 SQL Server 和 SQL 受控執行個體上,需要 VIEW SERVER STATE 權限。

在SQL 資料庫基本、S0 S1 服務目標上,以及彈性集 區中的 資料庫, 需要伺服器管理員 帳戶、 Microsoft Entra 系統管理員 帳戶或伺服器角色 的成員 ##MS_ServerStateReader## 資格。 在所有其他 SQL Database 服務目標上,需要資料庫的 VIEW DATABASE STATE 權限或 ##MS_ServerStateReader## 伺服器角色的成員資格。

SQL Server 2022 及更新版本的權限

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

另請參閱

SQL Server 作業系統相關動態管理檢視 (Transact-SQL)