sys.dm_os_memory_clerks (Transact-SQL)

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

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

Примечание.

Чтобы вызвать это из Azure Synapse Analytics или Analytics Platform System (PDW), используйте имя sys.dm_pdw_nodes_os_memory_clerks. Этот синтаксис не поддерживается бессерверным пулом SQL в Azure Synapse Analytics.

Имя столбца Тип данных Description
memory_clerk_address varbinary(8) Указывает уникальный адрес клерка памяти. Это первичный ключевой столбец. Не допускает значение NULL.
type nvarchar(60) Указывает тип клерка памяти. Каждый клерк принадлежит к определенному типу, такому как CLR Clerks MEMORYCLERK_SQLCLR. Не допускает значение NULL.
name nvarchar(256) Указывает внутреннее имя, назначенное данному клерку памяти. Компонент может иметь несколько клерков памяти определенного типа. Компонент может использовать определенные имена для идентификации клерков памяти одного и того же типа. Не допускает значение NULL.
memory_node_id smallint Указывает идентификатор узла памяти. Не допускает значения NULL.
single_pages_kb bigint Применимо: SQL Server 2008 (10.0.x) до SQL Server 2008 R2 (10.50.x). Дополнительные сведения см. в статье Об изменениях управления памятью, начиная с SQL Server 2012 (11.x).
pages_kb bigint Область применения: SQL Server 2012 (11.x) и более поздних версий.

Устанавливает объем страничной памяти (в килобайтах), выделяемый для этого клерка памяти. Не допускает значение NULL.
multi_pages_kb bigint Применимо: SQL Server 2008 (10.0.x) до SQL Server 2008 R2 (10.50.x). Дополнительные сведения см. в статье Об изменениях управления памятью, начиная с SQL Server 2012 (11.x).

Объем выделенной многостраничной памяти в КБ. Это объем памяти, выделенной с помощью механизма распределения множества страниц узлов памяти. Эта память выделена вне буферного пула и использует преимущества виртуального блока распределения узлов памяти. Не допускает значение 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). Компоненты, такие как microsoft SQL Server Native Client, получают доступ к ресурсам памяти SQL Server через интерфейс узла.

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

Не допускает значение NULL.
pdw_node_id int Область применения: Azure Synapse Analytics, Analytics Platform System (PDW)

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

Разрешения

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

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

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

Замечания

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

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

CACHESTORE и USERSTORE

CACHESTORE и USERSTORE — это клерки памяти, но функции в качестве фактических кэшей. Как правило, кэши сохраняют выделения до тех пор, пока политика удаления кэша не освобождает эти выделения. Чтобы избежать повторного создания, кэшированное выделение сохраняется в кэше как можно дольше и обычно удаляется из кэша, если оно слишком старое, чтобы быть полезным, или когда пространство памяти необходимо для новых сведений (дополнительные сведения см. в разделе "Очистка часов"). Это один из двух основных элементов управления для кэшей — управление временем существования и контроль видимости.

Хранилище кэша и хранилище пользователей отличаются тем, как они управляют временем существования выделения. В случае хранилища кэша время существования записей полностью контролируется платформой кэширования SQLOS. При использовании хранилища пользователей время существования записей полностью контролируется хранилищем. Реализация каждого хранилища пользователей может быть зависят от характера выделения памяти, поэтому хранилища пользователей участвуют в управлении временем существования своих записей.

Элемент управления видимостью управляет видимостью записи. Запись в кэше может существовать, но может не отображаться. Например, если запись кэша помечена только для одного использования, запись не будет видна после его использования. Кроме того, запись кэша может быть помечена как грязное; она будет продолжать жить в кэше, но не будет видна для подстановок. Для обоих хранилищ видимость входа контролируется платформой кэширования.

Дополнительные сведения см. в разделе "Кэширование SQLOS".

OBJECTSTORE

Хранилище объектов — это простой пул. Он используется для кэширования однородных данных. Все записи в пулах рассматриваются как равные. Хранилища объектов реализуют максимальное ограничение для управления размером относительно других кэшей.

Дополнительные сведения см. в разделе "Кэширование SQLOS".

Типы

В следующей таблице перечислены типы клерков памяти:

Тип Описание
CACHESTORE_BROKERDSH Это хранилище кэша используется для хранения выделений в кэше заголовков заголовков диалогового окна Service Broker
CACHESTORE_BROKERKEK Это хранилище кэша используется для хранения выделения по кэшу ключей Key Exchange компонента Service Broker
CACHESTORE_BROKERREADONLY Это хранилище кэша используется для хранения выделений только для чтения кэша service Broker
CACHESTORE_BROKERRSB Это хранилище кэша используется для хранения выделений в кэше привязки удаленной службы Service Broker.
CACHESTORE_BROKERТБ LACS Это хранилище кэша используется для хранения выделений Service Broker для структур доступа к безопасности.
CACHESTORE_BROKERTO Это хранилище кэша используется для хранения выделений кэшем объектов передачи Service Broker
CACHESTORE_BROKERUSERCERTLOOKUP Это хранилище кэша используется для хранения выделения сертификатов пользователей Service Broker , кэш подстановки
CACHESTORE_COLUMNSTOREOBJECTPOOL Это хранилище кэша используется для выделения индексов Columnstore для сегментов и словарей
CACHESTORE_CONVPRI Это хранилище кэша используется для хранения выделений service Broker для отслеживания приоритетов бесед
CACHESTORE_EVENTS Это хранилище кэша используется для хранения выделений уведомлениями о событиях Service Broker
CACHESTORE_FULLTEXTSTOPLIST Этот клерк памяти используется для выделения подсистемой полнотекстового текста для функций списка стоп-списков .
CACHESTORE_NOTIF Это хранилище кэша используется для выделения функциональными возможностями уведомлений запросов
CACHESTORE_OBJCP Это хранилище кэша используется для кэширования объектов с скомпилированных планов (CP): хранимые процедуры, функции, триггеры. Чтобы проиллюстрировать, после создания плана запроса для хранимой процедуры его план хранится в этом кэше.
CACHESTORE_PHDR Это хранилище кэша используется для кэширования временной памяти во время синтаксического анализа представлений, ограничений и деревьев algebrizer по умолчанию во время компиляции запроса. После синтаксического анализа запроса следует освободить память. К некоторым примерам относятся: многие инструкции в одном пакете — тысячи вставок или обновлений в один пакет, пакет T-SQL, содержащий большой динамически созданный запрос, большое количество значений в предложении IN.
CACHESTORE_QDSRUNTIMESTATS Это хранилище кэша используется для кэширования статистики среды выполнения хранилище запросов
CACHESTORE_SEARCHPROPERTYLIST Это хранилище кэша используется для выделения подсистемой полнотекстового текста для кэша списков свойств
CACHESTORE_SEHOBTCOLUMNATTRIBUTE Это хранилище кэша используется подсистемой хранилища для кэширования структур метаданных столбцов кучи или дерева B(HoBT).
CACHESTORE_SQLCP Это хранилище кэша используется для кэширования нерегламентированных запросов, подготовленных инструкций и курсоров на стороне сервера в кэше планов. Нерегламентированные запросы — это обычно инструкции T-SQL, отправленные на сервер без явной параметризации. Подготовленные инструкции также используют это хранилище кэша. Они отправляются приложением с помощью вызовов API, таких как SQLPrepare()/ SQLExecute (ODBC) или SqlCommand.Prepare/SqlCommand.ExecuteNonQuery (ADO.NET) и будут отображаться на сервере как sp_prepare sp_execute/ или sp_prepexec системных процедур. Кроме того, серверные курсоры будут использовать из этого хранилища кэша (sp_cursoropen, sp_cursorfetch, sp_cursorclose).
CACHESTORE_STACKFRAMES Это хранилище кэша используется для выделения внутренних структур ОС SQL, связанных с кадрами стека.
CACHESTORE_SYSTEMROWSET Это хранилище кэша используется для выделения внутренних структур, связанных с ведением журнала транзакций и восстановлением.
CACHESTORE_TEMPTABLES Это хранилище кэша используется для выделения, связанных с временными таблицами и кэшированием табличных переменных — часть кэша планов.
CACHESTORE_VIEWDEFINITIONS Это хранилище кэша используется для кэширования определений представлений в рамках оптимизации запросов.
CACHESTORE_XML_SELECTIVE_DG Это хранилище кэша используется для кэширования XML-структур для обработки XML.
CACHESTORE_XMLDBATTRIBUTE Это хранилище кэша используется для кэширования структур XML-атрибутов для действий XML, таких как XQuery.
CACHESTORE_XMLDBELEMENT Это хранилище кэша используется для кэширования структур XML-элементов для действий XML, таких как XQuery.
CACHESTORE_XMLDBTYPE Это хранилище кэша используется для кэширования XML-структур для действий XML, таких как XQuery.
CACHESTORE_XPROC Это хранилище кэша используется для кэширования структур для расширенных хранимых процедур (Xprocs) в кэше планов.
MEMORYCLERK_BACKUP Этот клерк памяти используется для различных выделений функциональными возможностями резервного копирования
MEMORYCLERK_BHF Этот клерк памяти используется для выделения для управления двоичными большими объектами (BLOB) во время выполнения запроса (поддержка обработки BLOB-объектов)
MEMORYCLERK_BITMAP Этот клерк памяти используется для выделения функциональными возможностями ОС SQL для фильтрации растровых карт
MEMORYCLERK_CSILOBCOMPRESSION Этот клерк памяти используется для выделения двоичными объектами больших объектов индекса Columnstore (BLOB)
MEMORYCLERK_DRTLHEAP Этот клерк памяти используется для выделения функциональными возможностями ОС SQL

Область применения: SQL Server 2019 (15.x) и более поздних версий
MEMORYCLERK_EXPOOL Этот клерк памяти используется для выделения функциональными возможностями ОС SQL

Область применения: SQL Server 2019 (15.x) и более поздних версий
MEMORYCLERK_EXTERNAL_EXTRACTORS Этот клерк памяти используется для выделения подсистемой выполнения запросов для операций в пакетном режиме

Область применения: SQL Server 2019 (15.x) и более поздних версий
MEMORYCLERK_FILETABLE Этот клерк памяти используется для различных выделений функциональными возможностями FileTables .
MEMORYCLERK_FSAGENT Этот клерк памяти используется для различных выделений функциональными возможностями FILESTREAM .
MEMORYCLERK_FSCHUNKER Этот клерк памяти используется для различных выделений функциональными возможностями FILESTREAM для создания блоков файлового потока.
MEMORYCLERK_FULLTEXT Этот клерк памяти используется для выделения структурами подсистемы полнотекстового текста.
MEMORYCLERK_FULLTEXT_SHMEM Этот клерк памяти используется для выделения структурами подсистемы полнотекстового текста, связанными с подключением к общей памяти с помощью процесса полнотекстового управляющей программы.
MEMORYCLERK_HADR Этот клерк памяти используется для выделения памяти функциональными возможностями AlwaysOn
MEMORYCLERK_HOST Этот клерк памяти используется для выделения функциональными возможностями ОС SQL.
MEMORYCLERK_LANGSVC Этот клерк памяти используется для выделения инструкций и команд SQL T-SQL (синтаксический анализ, algebrizer и т. д.)
MEMORYCLERK_LWC Этот клерк памяти используется для выделения полнотекстовой семантической поисковой системой
MEMORYCLERK_POLYBASE Этот клерк памяти отслеживает выделение памяти для функциональных возможностей PolyBase в SQL Server.
MEMORYCLERK_QSRANGEPREFETCH Этот клерк памяти используется для выделения во время выполнения запроса для предварительной выборки диапазона сканирования запросов.
MEMORYCLERK_QUERYDISKSTORE Этот клерк памяти используется хранилище запросов выделения памяти внутри SQL Server.
MEMORYCLERK_QUERYDISKSTORE_HASHMAP Этот клерк памяти используется хранилище запросов выделения памяти внутри SQL Server.
MEMORYCLERK_QUERYDISKSTORE_STATS Этот клерк памяти используется хранилище запросов выделения памяти внутри SQL Server.
MEMORYCLERK_QUERYPROFILE Этот клерк памяти используется во время запуска сервера для включения профилирования запросов

Область применения: SQL Server 2019 (15.x) и более поздних версий
MEMORYCLERK_RTLHEAP Этот клерк памяти используется для выделения функциональными возможностями ОС SQL.

Область применения: SQL Server 2019 (15.x) и более поздних версий
MEMORYCLERK_SECURITYAPI Этот клерк памяти используется для выделения функциональными возможностями ОС SQL.

Область применения: SQL Server 2019 (15.x) и более поздних версий
MEMORYCLERK_SERIALIZATION Только для внутреннего применения
MEMORYCLERK_SLOG Этот клерк памяти используется для выделения по sLog (вторичный поток журнала в памяти) в ускоренном восстановлении базы данных

Область применения: SQL Server 2019 (15.x) и более поздних версий
MEMORYCLERK_SNI Этот клерк памяти выделяет память для компонентов SNI сервера. SNI управляет подключением и пакетами TDS для SQL Server
MEMORYCLERK_SOSMEMMANAGER Этот клерк памяти выделяет структуры для планирования потоков SQLOS (SOS) и управления памятью и операций ввода-вывода.
MEMORYCLERK_SOSNODE Этот клерк памяти выделяет структуры для планирования потоков SQLOS (SOS) и управления памятью и операций ввода-вывода.
MEMORYCLERK_SOSOS Этот клерк памяти выделяет структуры для планирования потоков SQLOS (SOS) и управления памятью и операций ввода-вывода.
MEMORYCLERK_SPATIAL Этот клерк памяти используется компонентами пространственных данных для выделения памяти.
MEMORYCLERK_SQLBUFFERPOOL Этот клерк памяти отслеживает часто крупнейший потребитель памяти внутри SQL Server — страницы данных и индексов. Буферный пул или кэш данных сохраняет данные и страницы индексов, загруженные в память, чтобы обеспечить быстрый доступ к данным. Дополнительные сведения см. в разделе "Управление буферами".
MEMORYCLERK_SQLCLR Этот клерк памяти используется для выделения SQLCLR.
MEMORYCLERK_SQLCLRASSEМБ LY Этот клерк памяти используется для выделения сборок SQLCLR .
MEMORYCLERK_SQLCONNECTIONPOOL Этот клерк памяти кэширует сведения на сервере, о том, что клиентское приложение может потребоваться серверу для отслеживания. Одним из примеров является приложение, которое создает дескриптор подготовки с помощью sp_prepexecrpc. Приложение должно правильно нерекоменделировать (закрыть) эти дескрипторы после выполнения.
MEMORYCLERK_SQLEXTENSIBILITY Этот клерк памяти используется для выделения платформой расширяемости для выполнения внешних скриптов Python или R на SQL Server.

Область применения: SQL Server 2019 (15.x) и более поздних версий
MEMORYCLERK_SQLGENERAL Этот клерк памяти может использоваться несколькими потребителями в подсистеме SQL. Примерами могут быть реплика память, внутренняя отладка и диагностика, некоторые функции запуска SQL Server, некоторые функции синтаксического анализа SQL, создание системных индексов, инициализация глобальных объектов памяти, подключение OLEDB внутри сервера и запросов связанного сервера, трассировка профилировщика на стороне сервера, создание данных showplan, некоторые функции безопасности, компиляция вычисляемых столбцов, память для структур Параллелизма, память для операций. некоторые функции XML
MEMORYCLERK_SQLHTTP Устарело
MEMORYCLERK_SQLLOGPOOL Этот клерк памяти используется пулом журналов SQL Server. Пул журналов — это кэш, используемый для повышения производительности при чтении журнала транзакций. В частности, это улучшает использование кэша журналов во время нескольких операций чтения журналов журнала, сокращает операции чтения журналов ввода-вывода диска и позволяет совместно использовать сканирование журналов. Основными потребителями пула журналов являются AlwaysOn (запись изменений и отправка), диспетчер redo manager, восстановление базы данных — анализ/отмена, откат среды выполнения транзакций, репликация/CDC, резервное копирование и восстановление.
MEMORYCLERK_SQLOPTIMIZER Этот клерк памяти используется для выделения памяти на разных этапах компиляции запроса. Некоторые из них включают оптимизацию запросов, диспетчер статистики индексов, компиляцию определений представлений, создание гистограммы.
MEMORYCLERK_SQLQERESERVATIONS Этот клерк памяти используется для выделения памяти, то есть памяти, выделенной для запросов для выполнения операций сортировки и хэша во время выполнения запроса. Дополнительные сведения о резервированиях выполнения запросов (гранты памяти) см . в этом блоге.
MEMORYCLERK_SQLQUERYCOMPILE Этот клерк памяти используется оптимизатором запросов для выделения памяти во время компиляции запросов.
MEMORYCLERK_SQLQUERYEXEC Этот клерк памяти используется для выделения в следующих областях: обработка в пакетном режиме, параллельное выполнение запросов, контекст выполнения запросов, контекст выполнения запросов, обработка пространственных индексов, сортировка и хэш-операции (таблицы сортировки, хэш-таблицы), некоторые обработки DVM, обновление статистики выполнения
MEMORYCLERK_SQLQUERYPLAN Этот клерк памяти используется для выделения с помощью управления страницами кучи , выделения DBCC CHECKTABLE и выделения хранимой процедуры sp_cursor* *
MEMORYCLERK_SQLSERVICEBROKER Этот клерк памяти используется выделением памяти компонента SQL Server Service Broker .
MEMORYCLERK_SQLSERVICEBROKERTRANSPORT Этот клерк памяти используется выделением памяти sql Server Service Broker для транспорта памяти.
MEMORYCLERK_SQLSLO_OPERATIONS Этот клерк памяти используется для сбора статистики производительности

Область применения: База данных SQL Azure
MEMORYCLERK_SQLSOAP Устарело
MEMORYCLERK_SQLSOAPSESSIONSTORE Устарело
MEMORYCLERK_SQLSTORENG Этот клерк памяти используется для выделения несколькими компонентами ядра хранилища. Примеры компонентов включают структуры для файлов базы данных, моментального снимка базы данных реплика диспетчер файлов, монитор взаимоблокировки, структуры DBTABLE, структуры диспетчера журналов, некоторые структуры управления версиями tempdb, некоторые функции запуска сервера, контекст выполнения дочерних потоков в параллельных запросах.
MEMORYCLERK_SQLTRACE Этот клерк памяти используется для выделения памяти трассировки SQL на стороне сервера.
MEMORYCLERK_SQLUTILITIES Этот клерк памяти может использоваться несколькими распределителями внутри SQL Server. Примеры: резервное копирование и восстановление, доставка журналов, зеркальное отображение базы данных, команды DBCC, код BCP на стороне сервера, некоторые операции параллелизма запросов, буферы сканирования журналов.
MEMORYCLERK_SQLXML Этот клерк памяти используется для выделения памяти при выполнении xml-операций.
MEMORYCLERK_SQLXP Этот клерк памяти используется для выделения памяти при вызове расширенных хранимых процедур SQL Server.
MEMORYCLERK_SVL Этот клерк памяти используется для выделения внутренних структур ОС SQL
MEMORYCLERK_TEST Только для внутреннего применения
MEMORYCLERK_UNITTEST Только для внутреннего применения
MEMORYCLERK_WRITEPAGERECORDER Этот клерк памяти используется для выделения записывателем страницы записи.
MEMORYCLERK_XE Этот клерк памяти используется для выделения памяти расширенных событий
MEMORYCLERK_XE_BUFFER Этот клерк памяти используется для выделения памяти расширенных событий
MEMORYCLERK_XLOG_SERVER Этот клерк памяти используется для выделения Xlog, используемого для управления файлами журнала в базе данных SQL Azure

Область применения: База данных SQL Azure
MEMORYCLERK_XTP Этот клерк памяти используется для выделения памяти OLTP в памяти.
OBJECTSTORE_LBSS Это хранилище объектов используется для выделения временных бизнес-объектов — переменных, параметров и промежуточных результатов для выражений. Пример использования этого хранилища — табличное значение параметров (TVP). Дополнительные сведения о исправлениях в этом пространстве см. в статье 4468102 КБ и КБ этой 4051359 статье.
OBJECTSTORE_LOCK_MANAGER Этот клерк памяти отслеживает выделения, сделанные диспетчером блокировки в SQL Server.
OBJECTSTORE_SECAUDIT_EVENT_BUFFER Это хранилище объектов используется для выделения памяти аудита SQL Server.
OBJECTSTORE_SERVICE_BROKER Это хранилище объектов используется Service Broker
OBJECTSTORE_SNI_PACKET Это хранилище объектов используется компонентами сетевого интерфейса сервера (SNI), которые управляют подключением
OBJECTSTORE_XACT_CACHE Это хранилище объектов используется для кэширования сведений о транзакциях
USERSTORE_DBMETADATA Это хранилище объектов используется для структур метаданных
USERSTORE_OBJPERM Это хранилище используется для структур отслеживания безопасности или разрешения объектов
USERSTORE_QDSSTMT Это хранилище кэша используется для кэширования инструкций хранилище запросов
USERSTORE_SCHEMAMGR Кэш диспетчера схем хранит различные типы метаданных о объектах базы данных в памяти (например, таблицы). Общим пользователем этого хранилища может быть база данных tempdb с такими объектами, как таблицы, временные процедуры, переменные таблицы, табличные параметры, рабочие таблицы, рабочие файлы, хранилище версий.
USERSTORE_SXC Это хранилище пользователей используется для выделения для хранения всех параметров RPC .
USERSTORE_TOKENPERM TokenAndPermUserStore — это одно пользовательское хранилище SOS, которое отслеживает записи безопасности для контекста безопасности, входа, пользователя, разрешения и аудита. Для хранения этих объектов выделяется несколько хэш-таблиц.

Примечание.

В документации по SQL Server термин "сбалансированное дерево" обычно используется в отношении индексов. В индексах rowstore SQL Server реализует B+-дерево. Это не относится к индексам columnstore или хранилищам данных в памяти. Дополнительные сведения см. в руководстве по архитектуре и проектированию индексов SQL Sql Server и Azure.

См. также

Динамические административные представления операционной системы 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)