Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Применимо к:SQL Server
База данных SQL Azure
Управляемый экземпляр SQL Azure
Azure Synapse Analytics
Analytics Platform System (PDW)
База данных SQL в Microsoft Fabric
Возвращает объекты памяти, выделенные в настоящее время SQL Server. Вы можете использовать sys.dm_os_memory_objects для анализа использования памяти и выявления возможных утечек памяти.
Note
Чтобы вызвать это из Azure Synapse Analytics или Analytics Platform System (PDW), используйте имя sys.dm_pdw_nodes_os_memory_objects. Этот синтаксис не поддерживается бессерверным пулом SQL в Azure Synapse Analytics.
| Название столбца | Тип данных | Description |
|---|---|---|
| memory_object_address | varbinary(8) | Адрес объекта памяти. Не допускает значение NULL. |
| parent_address | varbinary(8) | Адрес родительского объекта памяти. Может принимать значение NULL. |
| pages_allocated_count | int |
Применимо: SQL Server 2008 (10.0.x) до SQL Server 2008 R2 (10.50.x). Число страниц, выделенных данным объектом. Не допускает значение NULL. |
| pages_in_bytes | bigint |
Область применения: SQL Server 2012 (11.x) и более поздних версий. Объем памяти в байтах, выделяемый этим экземпляром объекта памяти. Не допускает значение NULL. |
| creation_options | int | Только для внутреннего применения. Может принимать значение NULL. |
| bytes_used | bigint | Только для внутреннего применения. Может принимать значение NULL. |
| тип | nvarchar(60) | Тип объекта памяти. Указывает компонент, которому принадлежит данный объект памяти, либо функцию объекта памяти. Может принимать значение NULL. |
| name | varchar(128) | Только для внутреннего применения. Допускает значение NULL. |
| memory_node_id | smallint | Идентификатор узла памяти, используемого данным объектом памяти. Не допускает значение NULL. |
| creation_time | datetime | Только для внутреннего применения. Может принимать значение NULL. |
| max_pages_allocated_count | int |
Применимо: SQL Server 2008 (10.0.x) до SQL Server 2008 R2 (10.50.x). Максимальное число страниц, выделенных данным объектом. Не допускает значение NULL. |
| page_size_in_bytes | int |
Область применения: SQL Server 2012 (11.x) и более поздних версий. Размер страниц в байтах, выделенных данным объектом. Не допускает значение NULL. |
| max_pages_in_bytes | bigint | Максимальный объем памяти, который когда-либо использовался данным объектом памяти. Не допускает значение NULL. |
| page_allocator_address | varbinary(8) | Адрес средства выделения страниц в памяти. Не допускает значение NULL. Для получения дополнительной информации см. sys.dm_os_memory_clerks (Transact-SQL). |
| creation_stack_address | varbinary(8) | Только для внутреннего применения. Может принимать значение NULL. |
| sequence_num | int | Только для внутреннего применения. Может принимать значение NULL. |
| partition_type | int |
Область применения: SQL Server 2016 (13.x) и более поздних версий. Тип секции: 0 — объект памяти, не допускающий секционирование 1 . Объект памяти с секционированием, в настоящее время не секционирован 2 . Секционируемый объект памяти, секционируемый узлом NUMA. В среде с одним узлом NUMA это эквивалентно 1. 3 . Секционируемый объект памяти, секционируемый по ЦП. |
| contention_factor | real |
Область применения: SQL Server 2016 (13.x) и более поздних версий. Значение, указывающее состязание в этом объекте памяти, при этом значение 0 не имеет значения. Значение обновляется всякий раз, когда указанное количество выделений памяти было отражено в течение этого периода. Применяется только к объектам памяти, безопасным для потоков. |
| waiting_tasks_count | bigint |
Область применения: SQL Server 2016 (13.x) и более поздних версий. Количество ожиданий для этого объекта памяти. Этот счетчик увеличивается при каждом выделении памяти из этого объекта памяти. Увеличение — это количество задач, ожидающих доступа к этому объекту памяти. Применяется только к объектам памяти, безопасным для потоков. Это лучшее значение без гарантии правильности. |
| exclusive_access_count | bigint |
Область применения: SQL Server 2016 (13.x) и более поздних версий. Указывает, как часто доступ к этому объекту памяти был доступен исключительно. Применяется только к объектам памяти, безопасным для потоков. Это лучшее значение без гарантии правильности. |
| pdw_node_id | int |
применимо к: Azure Synapse Analytics, система платформы аналитики (PDW) Идентификатор узла, на который находится это распределение. |
partition_type, contention_factor, waiting_tasks_count и exclusive_access_count еще не реализованы в База данных SQL.
Permissions
Для SQL Server и Управляемого экземпляра SQL требуется разрешение VIEW SERVER STATE.
В базе данных SQL базовые, S0и S1 целей службы, а также для баз данных в эластичных пулах, требуется учетная запись администратора сервера сервера, учетная запись администратора Microsoft Entra или членство в роли сервера ##MS_ServerStateReader##. Для всех остальных целей службы базы данных SQL требуется разрешение VIEW DATABASE STATE на базу данных или членство в роли сервера ##MS_ServerStateReader##.
Разрешения для SQL Server 2022 и более поздних версий
Требуется VIEW разрешение на состояние производительности сервера на сервере.
Замечания
Объекты памяти представляют собой кучи. Они обеспечивают выделение памяти с большей точностью, чем клерки памяти. Компоненты SQL Server используют объекты памяти вместо клерков памяти. Объекты памяти для выделения страниц используют интерфейс средства выделения памяти от клерка памяти. Виртуальные или общие интерфейсы памяти объектами памяти не используются. В зависимости от шаблонов выделения памяти компоненты могут создавать различные типы объектов для выделения областей памяти произвольного размера.
Стандартный размер страницы для объекта памяти равен 8 КБ. Однако для добавочных объектов памяти размеры страниц могут варьироваться от 512 байт до 8 килобайт.
Note
Размер страницы не означает максимально возможный размер выделенной памяти. Он представляет собой гранулярность выделения страниц, поддерживаемую средством выделения и реализуемую клерком памяти. От объекта памяти можно запросить выделение объема свыше 8 килобайт.
Examples
В следующем примере возвращается объем памяти, выделенный каждым типом объектов памяти.
SELECT SUM (pages_in_bytes) as 'Bytes Used', type
FROM sys.dm_os_memory_objects
GROUP BY type
ORDER BY 'Bytes Used' DESC;
GO