sys.dm_os_memory_nodes (Transact-SQL)

Применимо к:SQL ServerБаза данных SQL AzureУправляемый экземпляр SQL AzureAzure Synapse AnalyticsAnalytics Platform System (PDW)База данных SQL в Microsoft Fabric

Выделения, которые являются внутренними для SQL Server, используют диспетчер памяти SQL Server. Отслеживание разницы между счетчиками памяти процесса от sys.dm_os_process_memory и внутренних счетчиков может указывать на использование памяти из внешних компонентов в пространстве памяти SQL Server.

Узлы создаются для каждого физического узла памяти NUMA. Они могут отличаться от узлов ЦП в sys.dm_os_nodes.

Распределение памяти, выполняемое напрямую с помощью процедур распределения памяти Windows, не отслеживается. В следующей таблице приведены сведения о выделении памяти только с помощью интерфейсов диспетчера памяти SQL Server.

Note

Чтобы вызвать это из Azure Synapse Analytics или Analytics Platform System (PDW), используйте имя sys.dm_pdw_nodes_os_memory_nodes. Этот синтаксис не поддерживается бессерверным пулом SQL в Azure Synapse Analytics.

Название столбца Тип данных Description
memory_node_id smallint Указывает идентификатор узла памяти. Связана с memory_node_id sys.dm_os_memory_clerks. Не допускает значения NULL.
virtual_address_space_reserved_kb bigint Указывает объем зарезервированного виртуального адресного пространства (в КБ), которое не зафиксировано и не сопоставлено с физическими страницами. Не допускает значения NULL.
virtual_address_space_committed_kb bigint Указывает объем виртуального адресного пространства (в КБ), зафиксированного или сопоставленного с физическими страницами. Не допускает значения NULL.
locked_page_allocations_kb bigint Указывает объем физической памяти в КБ, заблокированный SQL Server. Не допускает значения NULL.
single_pages_kb bigint Применимо: SQL Server 2008 (10.0.x) до SQL Server 2008 R2 (10.50.x).

Объем зафиксированной памяти (в КБ), выделенной с помощью механизма распределения одиночных страниц узла памяти. Эта память распределяется из буферного пула. Данное значение указывает на узел, от которого исходит запрос на выделение памяти, а не на физическое положение выделенной памяти.
pages_kb bigint Область применения: SQL Server 2012 (11.x) и более поздних версий.

Указывает объем зафиксированной памяти (в КБ), выделенной данным узлом NUMA с помощью механизма распределения страниц диспетчера памяти. Не допускает значения NULL.
multi_pages_kb bigint Применимо: SQL Server 2008 (10.0.x) до SQL Server 2008 R2 (10.50.x).

Объем зафиксированной памяти (в КБ), выделенной с помощью механизма многостраничного распределения потоков этого узла. Указанная память выделяется из пространства, находящегося вне буферного пула. Данное значение указывает на узел, от которого исходит запрос на выделение памяти, а не на физическое положение выделенной памяти.
shared_memory_reserved_kb bigint Указывает объем общей памяти (в КБ), зарезервированной данным узлом. Не допускает значения NULL.
shared_memory_committed_kb bigint Указывает объем общей памяти (в КБ), зафиксированной данным узлом. Не допускает значения 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) и более поздних версий.

Указывает объем общей памяти (в КБ), зафиксированной другими узлами памяти. Не допускает значения NULL.
target_kb bigint Область применения: SQL Server 2016 (13.x) и более поздних версий База данных SQL.

Указывает цель памяти для узла памяти в КБ.
pdw_node_id int применимо к: Azure Synapse Analytics, система платформы аналитики (PDW)

Идентификатор узла, на который находится это распределение.

Permissions

Для SQL Server и Управляемого экземпляра SQL требуется разрешение VIEW SERVER STATE.

В базе данных SQL базовые, S0и S1 целей службы, а также для баз данных в эластичных пулах, требуется учетная запись администратора сервера сервера, учетная запись администратора Microsoft Entra или членство в роли сервера ##MS_ServerStateReader##. Для всех остальных целей службы базы данных SQL требуется разрешение VIEW DATABASE STATE на базу данных или членство в роли сервера ##MS_ServerStateReader##.

Разрешения для SQL Server 2022 и более поздних версий

Требуется VIEW разрешение на состояние производительности сервера на сервере.