共用方式為


sys.dm_os_memory_nodes (Transact-SQL)

適用於: SQL Server Azure SQL 資料庫 Azure SQL 受控執行個體 Azure Synapse Analytics Analytics 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 Database [Basic][S0][S1] 服務目標,以及彈性集區中的資料庫,需要伺服器管理員帳戶、伺服器管理員帳戶、Microsoft Entra 管理員帳戶或 ##MS_ServerStateReader##伺服器角色的成員資格。 在所有其他 SQL Database 服務目標上,需要資料庫的 VIEW DATABASE STATE 權限或 ##MS_ServerStateReader## 伺服器角色的成員資格。

SQL Server 2022 及更新版本的權限

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

另請參閱

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