sys.dm_os_memory_clerks (Transact-SQL)sys.dm_os_memory_clerks (Transact-SQL)

適用対象: ○SQL Server ○Azure SQL Database ○Azure SQL Data Warehouse ○Parallel Data WarehouseAPPLIES TO: yesSQL Server yesAzure SQL Database yesAzure SQL Data Warehouse yesParallel Data Warehouse

インスタンスで現在アクティブなすべてのメモリ クラークのセットを返しますSQL ServerSQL Serverします。Returns the set of all memory clerks that are currently active in the instance of SQL ServerSQL Server.

注意

これからAzure SQL データ ウェアハウスAzure SQL Data WarehouseまたはParallel Data WarehouseParallel Data Warehouse、名前を使用して、 sys.dm_pdw_nodes_os_memory_clerksします。To call this from Azure SQL データ ウェアハウスAzure SQL Data Warehouse or Parallel Data WarehouseParallel Data Warehouse, use the name sys.dm_pdw_nodes_os_memory_clerks.

列名Column name データ型Data type 説明Description
memory_clerk_addressmemory_clerk_address varbinary(8)varbinary(8) メモリ クラークの一意のメモリ アドレスを指定します。Specifies the unique memory address of the memory clerk. これは主キー列です。This is the primary key column. NULL 値は許可されません。Is not nullable.
typetype nvarchar(60)nvarchar(60) メモリ クラークの種類を指定します。Specifies the type of memory clerk. 各クラークには、CLR Clerks MEMORYCLERK_SQLCLR などの特定の種類があります。Every clerk has a specific type, such as CLR Clerks MEMORYCLERK_SQLCLR. NULL 値は許可されません。Is not nullable.
namename nvarchar (256)nvarchar(256) このメモリ クラークに内部的に割り当てられた名前を指定します。Specifies the internally assigned name of this memory clerk. コンポーネントには、特定の種類の複数のメモリ クラークを作成できます。A component can have several memory clerks of a specific type. 同じ種類のメモリ クラークを識別するために、コンポーネントで特定の名前を選択して使用することもできます。A component might choose to use specific names to identify memory clerks of the same type. NULL 値は許可されません。Is not nullable.
memory_node_idmemory_node_id smallintsmallint メモリ ノードの ID を指定します。Specifies the ID of the memory node. Null を許容しません。Not nullable.
single_pages_kbsingle_pages_kb bigintbigint 適用対象: SQL Server 2008SQL Server 2008 から SQL Server 2008 R2SQL Server 2008 R2Applies to: SQL Server 2008SQL Server 2008 through SQL Server 2008 R2SQL Server 2008 R2.
pages_kbpages_kb bigintbigint 適用対象: SQL Server 2012 (11.x)SQL Server 2012 (11.x) から SQL Server 2017SQL Server 2017Applies to: SQL Server 2012 (11.x)SQL Server 2012 (11.x) through SQL Server 2017SQL Server 2017.

このメモリ クラークに割り当てられたページ メモリの量を KB 単位で指定します。Specifies the amount of page memory allocated in kilobytes (KB) for this memory clerk. NULL 値は許可されません。Is not nullable.
multi_pages_kbmulti_pages_kb bigintbigint 適用対象: SQL Server 2008SQL Server 2008 から SQL Server 2008 R2SQL Server 2008 R2Applies to: SQL Server 2008SQL Server 2008 through SQL Server 2008 R2SQL Server 2008 R2.

割り当てられた複数ページ メモリの量 (KB 単位)。Amount of multipage memory allocated in KB. これは、メモリ ノードの複数ページ アロケーターを使用して割り当てられたメモリの量です。This is the amount of memory allocated by using the multiple page allocator of the memory nodes. このメモリは、バッファー プール外に割り当てられ、メモリ ノードの仮想アロケーターを利用します。This memory is allocated outside the buffer pool and takes advantage of the virtual allocator of the memory nodes. NULL 値は許可されません。Is not nullable.
virtual_memory_reserved_kbvirtual_memory_reserved_kb bigintbigint メモリ クラークによって予約済みの仮想メモリの量を指定します。Specifies the amount of virtual memory that is reserved by a memory clerk. NULL 値は許可されません。Is not nullable.
virtual_memory_committed_kbvirtual_memory_committed_kb bigintbigint メモリ クラークによってコミット済みの仮想メモリの量を指定します。Specifies the amount of virtual memory that is committed by a memory clerk. コミット済みのメモリ量は、予約済みのメモリ量よりも常に少ない状態である必要があります。The amount of committed memory should always be less than the amount of reserved memory. NULL 値は許可されません。Is not nullable.
awe_allocated_kbawe_allocated_kb bigintbigint 物理メモリでロックされ、オペレーティング システムによってページ アウトされないメモリの量を KB 単位で指定します。Specifies the amount of memory in kilobytes (KB) locked in the physical memory and not paged out by the operating system. NULL 値は許可されません。Is not nullable.
shared_memory_reserved_kbshared_memory_reserved_kb bigintbigint メモリ クラークによって予約済みの共有メモリの量を指定します。Specifies the amount of shared memory that is reserved by a memory clerk. 共有メモリおよびファイル マッピングで使用するために予約されるメモリの量です。The amount of memory reserved for use by shared memory and file mapping. NULL 値は許可されません。Is not nullable.
shared_memory_committed_kbshared_memory_committed_kb bigintbigint メモリ クラークによってコミット済みの共有メモリの量を指定します。Specifies the amount of shared memory that is committed by the memory clerk. NULL 値は許可されません。Is not nullable.
page_size_in_bytespage_size_in_bytes bigintbigint このメモリ クラークのページ割り当ての粒度を指定します。Specifies the granularity of the page allocation for this memory clerk. NULL 値は許可されません。Is not nullable.
page_allocator_addresspage_allocator_address varbinary(8)varbinary(8) ページ アロケーターのアドレスを指定します。Specifies the address of the page allocator. このアドレスは、メモリ クラークの一意でありで使用できるsys.dm_os_memory_objectsこのクラークにバインドされているメモリ オブジェクトを検索します。This address is unique for a memory clerk and can be used in sys.dm_os_memory_objects to locate memory objects that are bound to this clerk. NULL 値は許可されません。Is not nullable.
host_addresshost_address varbinary(8)varbinary(8) このメモリ クラークのホストのメモリ アドレスを指定します。Specifies the memory address of the host for this memory clerk. 詳細については、次を参照してください。 sys.dm_os_hosts (TRANSACT-SQL)します。For more information, see sys.dm_os_hosts (Transact-SQL). コンポーネントなどMicrosoftMicrosoft SQL ServerSQL Server Native Client、アクセスSQL ServerSQL Serverメモリ リソース ホスト インターフェイスを使用します。Components, such as MicrosoftMicrosoft SQL ServerSQL Server Native Client, access SQL ServerSQL Server memory resources through the host interface.

0x00000000 = メモリ クラークは、SQL ServerSQL Server に属します。0x00000000 = Memory clerk belongs to SQL ServerSQL Server.

NULL 値は許可されません。Is not nullable.
pdw_node_idpdw_node_id intint 適用対象: Azure SQL データ ウェアハウスAzure SQL Data WarehouseParallel Data WarehouseParallel Data WarehouseApplies to: Azure SQL データ ウェアハウスAzure SQL Data Warehouse, Parallel Data WarehouseParallel Data Warehouse

この配布であるノードの識別子。The identifier for the node that this distribution is on.

アクセス許可Permissions

SQL ServerSQL Server、必要がありますVIEW SERVER STATE権限。On SQL ServerSQL Server, requires VIEW SERVER STATE permission.
SQL DatabaseSQL Database Premium レベルでは、必要があります、VIEW DATABASE STATEデータベースの権限。On SQL DatabaseSQL Database Premium Tiers, requires the VIEW DATABASE STATE permission in the database. SQL DatabaseSQL Database Standard および Basic 階層は、必要があります、サーバー管理者またはAzure Active Directory 管理者アカウント。On SQL DatabaseSQL Database Standard and Basic Tiers, requires the Server admin or an Azure Active Directory admin account.

コメントRemarks

SQL ServerSQL Serverメモリ マネージャーは、3 つの階層で構成されています。The SQL ServerSQL Server memory manager consists of a three-layer hierarchy. 一番下の階層は、メモリ ノードです。At the bottom of the hierarchy are memory nodes. 中間レベルの階層は、メモリ クラーク、メモリ キャッシュ、およびメモリ プールから成ります。The middle level consists of memory clerks, memory caches, and memory pools. 最上位の階層はメモリ オブジェクトから成ります。The top layer consists of memory objects. これらのオブジェクトは、一般的に、SQL ServerSQL Server インスタンスでメモリを割り当てる場合に使用されます。These objects are generally used to allocate memory in an instance of SQL ServerSQL Server.

メモリ ノードでは、低レベルのアロケーター用インターフェイスおよび実装が用意されています。Memory nodes provide the interface and the implementation for low-level allocators. SQL ServerSQL Server 内部では、メモリ クラークのみがメモリ ノードにアクセスできます。Inside SQL ServerSQL Server, only memory clerks have access to memory nodes. メモリ クラークは、メモリ ノードのインターフェイスにアクセスしてメモリを割り当てます。Memory clerks access memory node interfaces to allocate memory. また、メモリ ノードは、診断用のクラークを使用して、割り当てられたメモリを追跡します。Memory nodes also track the memory allocated by using the clerk for diagnostics. メモリを大量に割り当てるコンポーネントはすべて、独自のメモリ クラークを作成し、クラークのインターフェイスを使用してすべてのメモリを割り当てる必要があります。Every component that allocates a significant amount of memory must create its own memory clerk and allocate all its memory by using the clerk interfaces. 通常、コンポーネントは、SQL ServerSQL Server の起動時に、それぞれに対応したクラークを作成します。Frequently, components create their corresponding clerks at the time SQL ServerSQL Server is started.

参照See Also

SQL Server オペレーティング システム関連の動的管理ビュー (TRANSACT-SQL) SQL Server Operating System Related Dynamic Management Views (Transact-SQL)
sys.dm_os_sys_info (Transact-SQL) sys.dm_os_sys_info (Transact-SQL)
sys.dm_exec_query_memory_grants (TRANSACT-SQL) sys.dm_exec_query_memory_grants (Transact-SQL)
sys.dm_exec_requests (Transact-SQL) sys.dm_exec_requests (Transact-SQL)
sys.dm_exec_query_plan (TRANSACT-SQL) sys.dm_exec_query_plan (Transact-SQL)
sys.dm_exec_sql_text (TRANSACT-SQL)sys.dm_exec_sql_text (Transact-SQL)