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


sys.dm_os_memory_nodes (Transact-SQL)

Относится к:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsСистема аналитической платформы (PDW)SQL база данных в Microsoft Fabric

Выделения, которые являются внутренними для 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)