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)