Поделиться через


sys.dm_os_memory_nodes (Transact-SQL)

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

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

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

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

Примечание.

Чтобы вызвать это из 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, Analytics Platform System (PDW)

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

Разрешения

На SQL Server и управляемом экземпляре SQL необходимо разрешение VIEW SERVER STATE.

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

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

Требуется разрешение VIEW SERVER PERFORMANCE STATE на сервере.

См. также

Динамические административные представления операционной системы SQL Server (Transact-SQL)