sys.dm_os_memory_clerks (Transact-SQL)

適用対象:yesSQL Server (サポートされているすべてのバージョン) Yes Azure SQL Database Yes azure SQL Managed Instance yes azure Synapse analytics yes analytics Platform System (PDW)

SQL Server のインスタンスで現在アクティブなすべてのメモリクラークのセットを返します。

Note

これを Azure Synapse Analytics または Analytics Platform System (PDW) から呼び出すには、 sys.dm_pdw_nodes_os_memory_clerksという名前を使用します。 この構文は、Azure Synapse Analytics のサーバーレス SQL プールでサポートされていません。

列名 データ型 説明
memory_clerk_address varbinary (8) メモリ クラークの一意のメモリ アドレスを指定します。 これは主キー列です。 NULL 値は許可されません。
type nvarchar(60) メモリクラークの種類を指定します。 各クラークには、CLR Clerks MEMORYCLERK_SQLCLR などの特定の種類があります。 NULL 値は許可されません。
name nvarchar (256) このメモリ クラークに内部的に割り当てられた名前を指定します。 コンポーネントは、特定の種類の複数のメモリクラークを持つことができます。 同じ種類のメモリ クラークを識別するために、コンポーネントで特定の名前を選択して使用することもできます。 NULL 値は許可されません。
memory_node_id smallint メモリノードの ID を指定します。 NULL 値は許可されません。
single_pages_kb bigint 適用対象: SQL Server 2008 から SQL Server 2008 R2。 詳細については、「 SQL Server 2012 (2.x) 以降のメモリ管理の変更」を参照してください。
pages_kb bigint 適用対象: SQL Server 2012 (11.x) 以降。

このメモリクラークに割り当てられたページメモリの量をキロバイト (KB) 単位で指定します。 NULL 値は許可されません。
multi_pages_kb bigint 適用対象: SQL Server 2008 から SQL Server 2008 R2。 詳細については、「 SQL Server 2012 (2.x) 以降のメモリ管理の変更」を参照してください。

割り当てられた複数ページメモリの量 (KB 単位)。 これは、メモリノードの複数ページアロケーターを使用して割り当てられたメモリの量です。 このメモリは、バッファー プール外に割り当てられ、メモリ ノードの仮想アロケーターを利用します。 NULL 値は許可されません。
virtual_memory_reserved_kb bigint メモリクラークによって予約されている仮想メモリの量を指定します。 NULL 値は許可されません。
virtual_memory_committed_kb bigint メモリクラークによってコミットされる仮想メモリの量を指定します。 コミット済みのメモリ量は、予約済みのメモリ量よりも常に少ない状態である必要があります。 NULL 値は許可されません。
awe_allocated_kb bigint オペレーティングシステムによってページングされていない物理メモリ内のメモリの量をキロバイト (KB) 単位で指定します。 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 で使用して、この clerk にバインドされているメモリオブジェクトを見つけることができます。 NULL 値は許可されません。
host_address varbinary (8) このメモリ クラークのホストのメモリ アドレスを指定します。 詳細については、「 sys.dm_os_hosts (SQL 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 です。
Azure SQL Database Basic、S0、S1 のサービス目標、およびエラスティックプール内のデータベースについては、サーバー管理者アカウントまたはAzure Active Directory 管理者アカウントが必要です。 その他のすべての Azure SQL Database サービスの目的 VIEW DATABASE STATE では、データベースで権限が必要になります。

注釈

SQL Server memory manager は、3層階層で構成されます。 階層の最下部には、メモリノードがあります。 中間レベルは、メモリクラーク、メモリキャッシュ、およびメモリプールで構成されます。 最上位の階層はメモリ オブジェクトから成ります。 これらのオブジェクトは、SQL Server のインスタンスにメモリを割り当てるために使用されます。

メモリノードは、低レベルのアロケーターのインターフェイスと実装を提供します。 SQL Server 内部では、メモリクラークだけがメモリノードにアクセスできます。 メモリクラークはメモリノードインターフェイスにアクセスしてメモリを割り当てます。 また、メモリノードは、診断の clerk を使用して割り当てられたメモリを追跡します。 大量のメモリを割り当てるすべてのコンポーネントは、独自のメモリクラークを作成し、clerk インターフェイスを使用してすべてのメモリを割り当てる必要があります。 多くの場合、コンポーネントは、SQL Server の開始時に対応する clerk を作成します。

CACHESTORE と USERSTORE

CACHESTORE と USERSTORE はメモリクラークですが、実際のキャッシュとして機能します。 通常、キャッシュ削除ポリシーによって割り当てが解放されるまで、キャッシュは割り当てを保持します。 キャッシュされた割り当てを再作成しないようにするために、キャッシュされた割り当ては可能な限りキャッシュに保持され、通常はキャッシュから削除されます。または、新しい情報のためにメモリ領域が必要な場合は、キャッシュから削除されます (詳細については、「 クロックハンドスイープ」を参照)。 これは、キャッシュの有効期間制御と可視性制御の2つの主要なコントロールの1つです。

キャッシュストアとユーザーストアは、割り当ての有効期間を制御する方法が異なります。 キャッシュストアの場合、エントリの有効期間は SQLOS のキャッシュフレームワークによって完全に制御されます。 ユーザーストアでは、エントリの有効期間はストアによってのみ部分的に制御されます。 各ユーザーストアの実装はメモリ割り当ての性質に固有であるため、ユーザーストアはそのエントリの有効期間の制御に参加します。

可視性コントロールは、エントリの表示を管理します。 キャッシュ内のエントリは存在しても、表示されない場合があります。 たとえば、キャッシュエントリが1回だけ使用するようにマークされている場合、エントリは使用後に表示されません。 また、キャッシュエントリがダーティとマークされることもあります。キャッシュには引き続き存在しますが、参照することはできません。 どちらのストアでも、エントリの可視性はキャッシュフレームワークによって制御されます。

詳細については、「 Sqlos キャッシュ」を参照してください。

OBJECTSTORE

オブジェクトストアは、単純なプールです。 これは、同種のデータをキャッシュするために使用されます。 プール内のすべてのエントリが等しいと見なされます。 オブジェクトストアは、他のキャッシュとの相対的なサイズを制御する最大キャップを実装します。

詳細については、「 Sqlos キャッシュ」を参照してください。

種類

次の表は、メモリクラークの種類を示しています。

説明
CACHESTORE_BROKERDSH このキャッシュストアは Service Broker ダイアログセキュリティヘッダーキャッシュによって割り当てを格納するために使用されます
CACHESTORE_BROKERKEK このキャッシュストアはService Brokerキー Exchange キーキャッシュによる割り当てを格納するために使用されます
CACHESTORE_BROKERREADONLY このキャッシュストアは Service Broker 読み取り専用キャッシュによって割り当てを格納するために使用されます
CACHESTORE_BROKERRSB このキャッシュストアは、リモートサービスバインドキャッシュService Brokerによって割り当てを格納するために使用されます。
CACHESTORE_BROKERTBLACS このキャッシュストアは、セキュリティアクセス構造のために Service Broker によって割り当てを格納するために使用されます。
CACHESTORE_BROKERTO このキャッシュストアは Service Broker転送オブジェクト キャッシュによって割り当てを格納するために使用されます
CACHESTORE_BROKERUSERCERTLOOKUP このキャッシュストアは Service Broker ユーザー証明書の参照キャッシュによって割り当てを格納するために使用されます
CACHESTORE_COLUMNSTOREOBJECTPOOL このキャッシュストアは、セグメントディクショナリ列ストアインデックスによる割り当てに使用されます
CACHESTORE_CONVPRI このキャッシュストアは、メッセージ交換の優先度を追跡するためにService Brokerによって割り当てを格納するために使用されます。
CACHESTORE_EVENTS このキャッシュストアはService Brokerイベント通知によって割り当てを格納するために使用されます
CACHESTORE_FULLTEXTSTOPLIST このメモリクラークは、 ストップリスト 機能の Full-Text エンジンによる割り当てに使用されます。
CACHESTORE_NOTIF このキャッシュストアは、 クエリ通知 機能による割り当てに使用されます
CACHESTORE_OBJCP このキャッシュストアは、コンパイル済みプラン (CP) でオブジェクトをキャッシュするために使用されます。ストアドプロシージャ、関数、トリガーです。 説明すると、ストアドプロシージャのクエリプランが作成されると、そのプランがこのキャッシュに格納されます。
CACHESTORE_PHDR このキャッシュストアは、クエリのコンパイル時に、ビュー、制約、および既定の algebrizer はツリーの解析中に、一時的なメモリキャッシュに使用されます。 クエリが解析されたら、メモリを解放する必要があります。 例としては、1つのバッチ内に多数のステートメントがあります。1つのバッチに何千もの挿入や更新が含まれている場合、動的に生成される大規模なクエリを含む T SQL バッチ、in 句に多数の値が含まれている場合などです。
CACHESTORE_QDSRUNTIMESTATS このキャッシュストアは クエリストア ランタイムの統計をキャッシュするために使用されます
CACHESTORE_SEARCHPROPERTYLIST このキャッシュストアは、 プロパティリスト キャッシュの Full-Text エンジンによる割り当てに使用されます
CACHESTORE_SEHOBTCOLUMNATTRIBUTE このキャッシュストアは、キャッシュヒープまたは B-tree (HoBT) 列のメタデータ構造のためにストレージエンジンによって使用されます。
CACHESTORE_SQLCP このキャッシュストアは、プランキャッシュ内のアドホッククエリ、準備されたステートメント、およびサーバー側カーソルをキャッシュするために使用されます。 アドホッククエリは、一般的には、明示的なパラメーター化を行わずにサーバーに送信される言語イベントの t-sql SQL ステートメントです。 準備されたステートメントは、このキャッシュストアも使用します。 このキャッシュストアは、 SQLPrepare ()sqlexecute (ODBC) または sqlcommandExecuteNonQuery (ADO.NET) のような API 呼び出しを使用してアプリケーションによって送信され、 sp_preparesp_executeまたはsp_prepexecシステムプロシージャの実行としてサーバーに表示されます。 また、サーバー側カーソルはこのキャッシュストア (sp_cursoropensp_cursorfetchsp_cursorclose) から使用します。
CACHESTORE_STACKFRAMES このキャッシュストアは、スタックフレームに関連する内部 SQL OS 構造の割り当てに使用されます。
CACHESTORE_SYSTEMROWSET このキャッシュストアは、トランザクションのログと復旧に関連する内部構造の割り当てに使用されます。
CACHESTORE_TEMPTABLES このキャッシュストアは 、一時テーブルとテーブル変数のキャッシュ に関連する割り当て (プランキャッシュの一部) に使用されます。
CACHESTORE_VIEWDEFINITIONS このキャッシュストアは、クエリ最適化の一部としてビュー定義をキャッシュするために使用されます。
CACHESTORE_XML_SELECTIVE_DG このキャッシュストアは、XML 処理のための XML 構造をキャッシュするために使用されます。
CACHESTORE_XMLDBATTRIBUTE このキャッシュストアは、 XQueryなどの xml アクティビティの xml 属性構造をキャッシュするために使用されます。
CACHESTORE_XMLDBELEMENT このキャッシュストアは、 XQueryなどの xml アクティビティの xml 要素構造をキャッシュするために使用されます。
CACHESTORE_XMLDBTYPE このキャッシュストアは、XQuery などの XML アクティビティの XML 構造をキャッシュするために使用されます。
CACHESTORE_XPROC このキャッシュストアは、プランキャッシュ内の 拡張ストアドプロシージャ (Xprocs) の構造をキャッシュするために使用されます。
MEMORYCLERK_BACKUP このメモリクラークは、 バックアップ 機能によるさまざまな割り当てに使用されます。
MEMORYCLERK_BHF このメモリクラークは、クエリ実行中の BLOB (バイナリラージオブジェクト) 管理の割り当てに使用されます (Blob ハンドルのサポート)。
MEMORYCLERK_BITMAP このメモリクラークは、ビットマップフィルター処理のために SQL OS 機能によって割り当てに使用されます。
MEMORYCLERK_CSILOBCOMPRESSION このメモリクラークは、列ストアインデックスのバイナリラージオブジェクト (BLOB) 圧縮による割り当てに使用されます
MEMORYCLERK_DRTLHEAP このメモリクラークは SQL OS 機能による割り当てに使用されます

適用対象: SQL Server 2019 (15 .x) 以降
MEMORYCLERK_EXPOOL このメモリクラークは SQL OS 機能による割り当てに使用されます

適用対象: SQL Server 2019 (15 .x) 以降
MEMORYCLERK_EXTERNAL_EXTRACTORS このメモリクラークは、 バッチモード 操作のクエリ実行エンジンによる割り当てに使用されます。

適用対象: SQL Server 2019 (15 .x) 以降
MEMORYCLERK_FILETABLE このメモリクラークは、 filetable 機能によるさまざまな割り当てに使用されます。
MEMORYCLERK_FSAGENT このメモリクラークは、 FILESTREAM 機能によるさまざまな割り当てに使用されます。
MEMORYCLERK_FSCHUNKER このメモリクラークは、filestream のチャンクを作成するための filestream 機能によるさまざまな割り当てに使用されます。
MEMORYCLERK_FULLTEXT このメモリクラークは Full-Text エンジン構造による割り当てに使用されます。
MEMORYCLERK_FULLTEXT_SHMEM このメモリクラークは、フルテキストデーモンプロセスとの共有メモリ接続に関連する Full-Text エンジン構造によって割り当てに使用されます。
MEMORYCLERK_HADR このメモリクラークは、AlwaysOn 機能によるメモリ割り当てに使用されます
MEMORYCLERK_HOST このメモリクラークは SQL OS 機能によって割り当てに使用されます。
MEMORYCLERK_LANGSVC このメモリクラークは SQL T SQL ステートメントとコマンド (パーサー、algebrizer はなど) によって割り当てに使用されます。
MEMORYCLERK_LWC このメモリクラークは Full-Text セマンティック検索 エンジンによる割り当てに使用されます
MEMORYCLERK_POLYBASE このメモリクラークは、SQL Server 内のPolybase機能のメモリ割り当てを追跡します。
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 OS 機能によって割り当てに使用されます。

適用対象: SQL Server 2019 (15 .x) 以降
MEMORYCLERK_SECURITYAPI このメモリクラークは SQL OS 機能によって割り当てに使用されます。

適用対象: SQL Server 2019 (15 .x) 以降
MEMORYCLERK_SERIALIZATION 内部でのみ使用されます
MEMORYCLERK_SLOG このメモリクラークは、高速データベース回復で sLog (セカンダリインメモリログストリーム) による割り当てに使用されます

適用対象: SQL Server 2019 (15 .x) 以降
MEMORYCLERK_SNI このメモリクラークは、サーバーネットワークインターフェイス (SNI) コンポーネントにメモリを割り当てます。 SNI は SQL Server の接続とTDSパケットを管理します
MEMORYCLERK_SOSMEMMANAGER このメモリクラークは、SQLOS (SOS) スレッドスケジューリングとメモリおよび i/o 管理の構造体を割り当てます。
MEMORYCLERK_SOSNODE このメモリクラークは、SQLOS (SOS) スレッドスケジューリングとメモリおよび i/o 管理の構造体を割り当てます。
MEMORYCLERK_SOSOS このメモリクラークは、SQLOS (SOS) スレッドスケジューリングとメモリおよび i/o 管理の構造体を割り当てます。
MEMORYCLERK_SPATIAL このメモリクラークは、メモリ割り当てのために 空間データ コンポーネントによって使用されます。
MEMORYCLERK_SQLBUFFERPOOL このメモリクラークは、SQL Server データページとインデックスページ内で最も多くのメモリコンシューマーを追跡します。 バッファープールまたはデータキャッシュは、データおよびインデックスページをメモリに読み込んで、データに高速にアクセスできるようにします。 詳細については、「 バッファー管理」を参照してください。
MEMORYCLERK_SQLCLR このメモリクラークは SQLCLR による割り当てに使用されます。
MEMORYCLERK_SQLCLRASSEMBLY このメモリクラークは SQLCLR アセンブリの割り当てに使用されます。
MEMORYCLERK_SQLCONNECTIONPOOL このメモリクラークは、サーバー上の情報をキャッシュします。この情報は、クライアントアプリケーションが追跡を維持するためにサーバーに必要な場合があります。 1つの例として、 sp_prepexecrpcを介して準備ハンドルを作成するアプリケーションがあります。 アプリケーションは、実行後にこれらのハンドルを適切に unprepare (閉じる) 必要があります。
MEMORYCLERK_SQLEXTENSIBILITY このメモリクラークは、SQL Server で外部 Python または R スクリプトを実行するための機能拡張フレームワークによる割り当てに使用されます。

適用対象: SQL Server 2019 (15 .x) 以降
MEMORYCLERK_SQLGENERAL このメモリクラークは、SQL エンジン内の複数のコンシューマーによって使用される可能性があります。 例としては、レプリケーションメモリ、内部デバッグ/診断、SQL Server スタートアップ機能、いくつかの SQL パーサー機能、システムインデックスの作成、グローバルメモリオブジェクトの初期化、サーバーとリンクサーバーのクエリ内での OLEDB 接続の作成、サーバーとリンクサーバーのクエリ、サーバー側のプロファイラーのトレース、計算列の作成、並列化構造のためのメモリ 機
MEMORYCLERK_SQLHTTP 非推奨
MEMORYCLERK_SQLLOGPOOL このメモリクラークは SQL Server ログプールによって使用されます。 ログプールは、トランザクションログの読み取り時のパフォーマンスを向上させるために使用されるキャッシュです。 具体的には、複数のログ読み取り中にログキャッシュの使用率を向上させ、ディスク i/o ログの読み取りを減らし、ログスキャンを共有できるようにします。 ログプールの主要なコンシューマーは、AlwaysOn (変更のキャプチャと送信)、再実行マネージャー、データベースの復旧-分析/やり直し/取り消し、トランザクションランタイムロールバック、レプリケーション/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 このメモリクラークは、パフォーマンスの統計情報を収集するために使用されます。

適用対象: Azure SQL Database
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 OS 構造の割り当てに使用されます
MEMORYCLERK_TEST 内部でのみ使用されます
MEMORYCLERK_UNITTEST 内部でのみ使用されます
MEMORYCLERK_WRITEPAGERECORDER このメモリクラークは、書き込みページレコーダーによる割り当てに使用されます。
MEMORYCLERK_XE このメモリクラークは、 拡張イベント のメモリ割り当てに使用されます
MEMORYCLERK_XE_BUFFER このメモリクラークは、 拡張イベント のメモリ割り当てに使用されます
MEMORYCLERK_XLOG_SERVER このメモリクラークは、SQL Azure データベースのログファイル管理に使用される xlog による割り当てに使用されます。

適用対象: Azure SQL Database
MEMORYCLERK_XTP このメモリクラークは、 インメモリ OLTP のメモリ割り当てに使用されます。
OBJECTSTORE_LBSS このオブジェクトストアは、式の一時的な Lob 変数、パラメーター、および中間結果を割り当てるために使用されます。 このストアを使用する例としては、 テーブル値パラメーター (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 ユーザーストアです。 これらのオブジェクトを格納するために、複数のハッシュテーブルが割り当てられます。

Note

SQL Server のドキュメントでは、一般にインデックスに関して B ツリーという用語が使用されます。 行ストア インデックスで、SQL Server によって B+ ツリーが実装されます。 これは、列ストア インデックスやメモリ内データ ストアには適用されません。 詳細については、「SQL Server のインデックスのアーキテクチャとデザイン ガイド」を参照してください。

参照

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 SQL)
sys.dm_exec_sql_text (Transact-SQL)