sys.dm_os_memory_clerks (Transact-SQL)

Возвращает набор всех клерков памяти, активных в данный момент в экземпляре SQL Server. 

Имя столбца

Тип данных

Описание

memory_clerk_address

varbinary(8)

Указывает уникальный адрес клерка памяти. Это первичный ключевой столбец. Значение NULL недопустимо.

type

nvarchar(60)

Указывает тип клерка памяти. Каждый клерк принадлежит к определенному типу, такому как CLR Clerks MEMORYCLERK_SQLCLR. Значение NULL недопустимо.

name

nvarchar(256)

Указывает внутреннее имя, назначенное данному клерку памяти. Компонент может иметь несколько клерков памяти определенного типа. Компонент может использовать определенные имена для идентификации клерков памяти одного и того же типа. Значение NULL недопустимо.

memory_node_id

smallint

Указывает идентификатор узла памяти. Значение NULL недопустимо.

pages_kb

bigint

Устанавливает объем страничной памяти (в килобайтах), выделяемый для этого клерка памяти. Значение NULL недопустимо.

virtual_memory_reserved_kb

bigint

Указывает объем виртуальной памяти, зарезервированной клерком памяти. Значение NULL недопустимо.

virtual_memory_committed_kb

bigint

Указывает объем виртуальной памяти, зафиксированной клерком памяти. Объем зафиксированной памяти должен всегда быть меньше объема зарезервированной памяти. Значение NULL недопустимо.

awe_allocated_kb

bigint

Указывает объем физической памяти (в КБ), заблокированной в физической памяти и не выгруженной операционной системой. Значение NULL недопустимо.

shared_memory_reserved_kb

bigint

Указывает объем общей памяти, зарезервированной клерком памяти. Объем памяти, зарезервированной для использования при сопоставлении общей памяти и файлов. Значение NULL недопустимо.

shared_memory_committed_kb

bigint

Указывает объем общей памяти, зафиксированной клерком памяти. Значение NULL недопустимо.

page_size_in_bytes

bigint

Указывает гранулярность выделения страниц для этого клерка памяти. Значение NULL недопустимо.

page_allocator_address

varbinary(8)

Указывает адрес средства выделения страниц. Этот адрес уникален для клерка памяти и может использоваться в представлении sys.dm_os_memory_objects для поиска объектов памяти, связанных с данным клерком. Значение NULL недопустимо.

host_address

varbinary(8)

Указывает адрес памяти, по которому размещается данный клерк памяти. Дополнительные сведения см. в разделе sys.dm_os_hosts (Transact-SQL). Такие компоненты, как собственный клиент MicrosoftSQL Server, получают доступ к ресурсам памяти SQL Server через интерфейс узла.

0x00000000 = Клерк памяти принадлежит SQL Server.

Не допускает значения NULL.

Разрешения

Необходимо разрешение VIEW SERVER STATE на сервере.

Замечания

Диспетчер памяти SQL Server имеет трехуровневую иерархию. В нижней части иерархии располагаются узлы памяти. Средний уровень содержит клерки, кэш и пулы памяти. Верхний уровень содержит объекты памяти. Эти объекты обычно используются для выделения памяти в экземпляре SQL Server.

Узлы памяти обеспечивают интерфейс и реализацию низкоуровневых механизмов выделения. В пределах SQL Server доступ к узлам памяти имеют только клерки памяти. Клерки памяти получают доступ к интерфейсам узлов памяти для ее выделения. Узлы памяти также ведут слежение за выделяемой клерками памятью в целях диагностики. Каждый компонент, выделяющий значительный объем памяти, должен создать свой клерк памяти и выделить необходимую ему память с помощью интерфейсов клерка. Часто компоненты создают соответствующие им клерки во время запуска SQL Server.

Поддержка совместимости

В SQL Server 2012 следующие столбцы были переименованы.

Предыдущее имя столбца

Новое имя столбца

single_pages_kb

pages_kb

В SQL Server 2012 столбец multi_pages_kb был удален.

См. также

Справочник

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

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

sys.dm_os_sys_info (Transact-SQL)

sys.dm_exec_query_memory_grants (Transact-SQL)

sys.dm_exec_requests (Transact-SQL)

sys.dm_exec_query_plan (Transact-SQL)

sys.dm_exec_sql_text (Transact-SQL)