sys.dm_db_index_operational_stats (Transact-SQL)sys.dm_db_index_operational_stats (Transact-SQL)

適用対象: ○SQL Server (2008 以降) ○Azure SQL Database ○Azure SQL Data Warehouse ○Parallel Data Warehouse APPLIES TO: yesSQL Server (starting with 2008) yesAzure SQL Database yesAzure SQL Data Warehouse yesParallel Data Warehouse

データベースの現在の低レベルの I/O、ロック、ラッチ、およびテーブルまたはインデックスのパーティションごとのアクセス メソッドのアクティビティを返します。Returns current lower-level I/O, locking, latching, and access method activity for each partition of a table or index in the database.

メモリ最適化インデックスは、この DMV には表示されません。Memory-optimized indexes do not appear in this DMV.

注意

sys.dm_db_index_operational_statsメモリ最適化インデックスに関する情報は返されません。sys.dm_db_index_operational_stats does not return information about memory-optimized indexes. メモリ最適化インデックスの使用方法については、sys.dm_db_xtp_index_stats & #40 を参照してください。TRANSACT-SQL と #41 です。For information about memory-optimized index use, see sys.dm_db_xtp_index_stats (Transact-SQL).

トピック リンク アイコン Transact-SQL 構文表記規則Topic link icon Transact-SQL Syntax Conventions

構文Syntax

    
sys.dm_db_index_operational_stats (    
    { database_id | NULL | 0 | DEFAULT }    
  , { object_id | NULL | 0 | DEFAULT }    
  , { index_id | 0 | NULL | -1 | DEFAULT }    
  , { partition_number | NULL | 0 | DEFAULT }    
)    

引数Arguments

database_id | NULL | 0 | DEFAULTdatabase_id | NULL | 0 | DEFAULT
データベースの ID です。ID of the database. database_idsmallintします。database_id is smallint. 有効な入力値は、データベースの ID 番号、NULL、0、または DEFAULT です。Valid inputs are the ID number of a database, NULL, 0, or DEFAULT. 既定値は 0 です。The default is 0. このコンテキストでは、NULL、0、および DEFAULT は同じ値になります。NULL, 0, and DEFAULT are equivalent values in this context.

SQL ServerSQL Server のインスタンスのすべてのデータベースに関する情報を返すには NULL を指定します。Specify NULL to return information for all databases in the instance of SQL ServerSQL Server. NULL を指定する場合database_idの場合は NULL を指定することも必要があります。 object_idindex_id、およびpartition_numberします。If you specify NULL for database_id, you must also specify NULL for object_id, index_id, and partition_number.

組み込み関数DB_IDを指定できます。The built-in function DB_ID can be specified.

object_id | NULL | 0 | DEFAULTobject_id | NULL | 0 | DEFAULT
インデックスがあるテーブルまたはビューのオブジェクト ID を指定します。Object ID of the table or view the index is on. object_IDintです。object_id is int.

有効な入力値は、テーブルおよびビューの ID 番号、NULL、0、または DEFAULT です。Valid inputs are the ID number of a table and view, NULL, 0, or DEFAULT. 既定値は 0 です。The default is 0. このコンテキストでは、NULL、0、および DEFAULT は同じ値になります。NULL, 0, and DEFAULT are equivalent values in this context.

NULL を指定すると、指定されたデータベース内にあるすべてのテーブルとビューに関するキャッシュされた情報が返されます。Specify NULL to return cached information for all tables and views in the specified database. NULL を指定する場合object_idの場合は NULL を指定することも必要があります。 index_idpartition_numberします。If you specify NULL for object_id, you must also specify NULL for index_id and partition_number.

index_id | 0 | NULL | -1 | DEFAULTindex_id | 0 | NULL | -1 | DEFAULT
インデックスの ID。ID of the index. index_idintします。場合、有効な値は 0、インデックスの ID 番号object_idヒープ、NULL、-1、または DEFAULT です。index_id is int. Valid inputs are the ID number of an index, 0 if object_id is a heap, NULL, -1, or DEFAULT. 既定値は -1 です。このコンテキストでは、NULL、-1、および DEFAULT は同じ値になります。The default is -1, NULL, -1, and DEFAULT are equivalent values in this context.

NULL を指定すると、ベース テーブルまたはビューのすべてのインデックスに関するキャッシュされた情報が返されます。Specify NULL to return cached information for all indexes for a base table or view. NULL を指定する場合index_idの場合は NULL を指定することも必要があります。 partition_numberします。If you specify NULL for index_id, you must also specify NULL for partition_number.

partition_number | NULL | 0 | DEFAULTpartition_number | NULL | 0 | DEFAULT
オブジェクト内のパーティション番号を指定します。Partition number in the object. partition_numberintします。有効な値は、 partion_numberのインデックスまたはヒープ、NULL、0、または DEFAULT です。partition_number is int. Valid inputs are the partion_number of an index or heap, NULL, 0, or DEFAULT. 既定値は 0 です。The default is 0. このコンテキストでは、NULL、0、および DEFAULT は同じ値になります。NULL, 0, and DEFAULT are equivalent values in this context.

NULL を指定すると、インデックスまたはヒープのすべてのパーティションについてキャッシュされた情報が返されます。Specify NULL to return cached information for all partitions of the index or heap.

partition_numberは 1 から始まります。partition_number is 1-based. 非パーティション インデックスまたはヒープにpartition_numberを 1 に設定します。A nonpartitioned index or heap has partition_number set to 1.

返されるテーブルTable Returned

列名Column name データ型Data type 説明Description
database_iddatabase_id smallintsmallint データベース ID。Database ID.
object_idobject_id intint テーブルまたはビューの ID。ID of the table or view.
index_idindex_id intint インデックスまたはヒープの ID。ID of the index or heap.

0 = ヒープ0 = Heap
partition_numberpartition_number intint インデックスまたはヒープ内の、1 から始まるパーティション番号。1-based partition number within the index or heap.
hobt_idhobt_id bigintbigint 適用対象: SQL ServerSQL Server (SQL Server 2016 (13.x)SQL Server 2016 (13.x) から 現在のバージョンまで)、 Azure SQL データベースAzure SQL DatabaseApplies to: SQL ServerSQL Server (SQL Server 2016 (13.x)SQL Server 2016 (13.x) through current version), Azure SQL データベースAzure SQL Database.

データ ヒープまたは列ストア インデックスの内部データを追跡する B ツリーの行セットの ID。ID of the data heap or B-tree rowset that tracks internal data for a columnstore index.

NULL の場合、これは、内部列ストア行セットではありません。NULL - this is not an internal columnstore rowset.

詳細については、次を参照してくださいsys.internal_partitions (TRANSACT-SQL。)For more details, see sys.internal_partitions (Transact-SQL)
leaf_insert_countleaf_insert_count bigintbigint リーフレベルの挿入の累積数。Cumulative count of leaf-level inserts.
leaf_delete_countleaf_delete_count bigintbigint リーフレベルの削除の累積数。Cumulative count of leaf-level deletes. leaf_delete_count はまずゴーストとしてマークされない削除されたレコードだけ増加します。leaf_delete_count is only incremented for deleted records that are not marked as ghost first. 最初に、非実体化が削除されたレコードのleaf_ghost_countは代わりにインクリメントされます。For deleted records that are ghosted first, leaf_ghost_count is incremented instead.
leaf_update_countleaf_update_count bigintbigint リーフレベルの更新の累積数。Cumulative count of leaf-level updates.
leaf_ghost_countleaf_ghost_count bigintbigint 削除とマークされており、まだ削除されていないリーフレベルの行の累積数。Cumulative count of leaf-level rows that are marked as deleted, but not yet removed. この数には、ゴーストとしてマークしなくてもすぐに削除されたレコードは含まれません。This count does not include records that are immediately deleted without being marked as ghost. このような行は、設定された間隔でクリーンアップ スレッドにより削除されます。These rows are removed by a cleanup thread at set intervals. この値には、未処理のスナップショット分離トランザクションが原因で保持されている行の数は含まれません。This value does not include rows that are retained, because of an outstanding snapshot isolation transaction.
nonleaf_insert_countnonleaf_insert_count bigintbigint リーフ レベルより上の挿入の累積数。Cumulative count of inserts above the leaf level.

0 = ヒープまたは列ストア0 = Heap or columnstore
nonleaf_delete_countnonleaf_delete_count bigintbigint リーフ レベルより上の削除の累積数。Cumulative count of deletes above the leaf level.

0 = ヒープまたは列ストア0 = Heap or columnstore
nonleaf_update_countnonleaf_update_count bigintbigint リーフ レベルより上の更新の累積数。Cumulative count of updates above the leaf level.

0 = ヒープまたは列ストア0 = Heap or columnstore
leaf_allocation_countleaf_allocation_count bigintbigint インデックスまたはヒープにおけるリーフ レベルのページ割り当ての累積数。Cumulative count of leaf-level page allocations in the index or heap.

インデックスの場合、ページ割り当てとページ分割は対応しています。For an index, a page allocation corresponds to a page split.
nonleaf_allocation_countnonleaf_allocation_count bigintbigint リーフ レベルより上のページ分割によって発生したページ割り当ての累積数。Cumulative count of page allocations caused by page splits above the leaf level.

0 = ヒープまたは列ストア0 = Heap or columnstore
leaf_page_merge_countleaf_page_merge_count bigintbigint リーフ レベルでページをマージした累積数。Cumulative count of page merges at the leaf level. 列ストア インデックスは常に 0 です。Always 0 for columnstore index.
nonleaf_page_merge_countnonleaf_page_merge_count bigintbigint リーフ レベルより上でページをマージした累積数。Cumulative count of page merges above the leaf level.

0 = ヒープまたは列ストア0 = Heap or columnstore
range_scan_countrange_scan_count bigintbigint インデックスまたはヒープで開始された範囲スキャンとテーブル スキャンの累積数。Cumulative count of range and table scans started on the index or heap.
singleton_lookup_countsingleton_lookup_count bigintbigint インデックスまたはヒープから取得した単一行の累積数。Cumulative count of single row retrievals from the index or heap.
forwarded_fetch_countforwarded_fetch_count bigintbigint 前方向レコードを介してフェッチされた行の数。Count of rows that were fetched through a forwarding record.

0 = インデックス0 = Indexes
lob_fetch_in_pageslob_fetch_in_pages bigintbigint LOB_DATA アロケーション ユニットから取得したラージ オブジェクト (LOB) ページの累積数。Cumulative count of large object (LOB) pages retrieved from the LOB_DATA allocation unit. これらのページには、型の列に格納されているデータが含まれてテキストntextイメージvarchar (max)nvarchar (max)varbinary (max)、およびxmlします。These pages contain data that is stored in columns of type text, ntext, image, varchar(max), nvarchar(max), varbinary(max), and xml. 詳細については、「データ型 (Transact-SQL)」を参照してください。For more information, see Data Types (Transact-SQL).
lob_fetch_in_byteslob_fetch_in_bytes bigintbigint 取得した LOB データの累積バイト数。Cumulative count of LOB data bytes retrieved.
lob_orphan_create_countlob_orphan_create_count bigintbigint 一括操作用に作成された、孤立した LOB 値の累積数。Cumulative count of orphan LOB values created for bulk operations.

0 = 非クラスター化インデックス0 = Nonclustered index
lob_orphan_insert_countlob_orphan_insert_count bigintbigint 一括操作中に挿入された、孤立した LOB 値の累積数。Cumulative count of orphan LOB values inserted during bulk operations.

0 = 非クラスター化インデックス0 = Nonclustered index
row_overflow_fetch_in_pagesrow_overflow_fetch_in_pages bigintbigint ROW_OVERFLOW_DATA アロケーション ユニットから取得した行オーバーフロー データ ページの累積数。Cumulative count of row-overflow data pages retrieved from the ROW_OVERFLOW_DATA allocation unit.

これらのページには、型の列に格納されているデータが含まれてvarchar (n)nvarchar (n)varbinary (n)、およびsql_variantされました。行外にプッシュします。These pages contain data stored in columns of type varchar(n), nvarchar(n), varbinary(n), and sql_variant that has been pushed off-row.
row_overflow_fetch_in_bytesrow_overflow_fetch_in_bytes bigintbigint 取得した行オーバーフロー データの累積バイト数。Cumulative count of row-overflow data bytes retrieved.
column_value_push_off_row_countcolumn_value_push_off_row_count bigintbigint 挿入または更新された行をページ内に収めるため、行外に出された LOB データおよび行オーバーフロー データに対する列値の累積数。Cumulative count of column values for LOB data and row-overflow data that is pushed off-row to make an inserted or updated row fit within a page.
column_value_pull_in_row_countcolumn_value_pull_in_row_count bigintbigint 行内に取り込まれた LOB データおよび行オーバーフロー データに対する列値の累積数。Cumulative count of column values for LOB data and row-overflow data that is pulled in-row. これは、更新操作によりレコード内の領域が解放され、LOB_DATA または ROW_OVERFLOW_DATA アロケーション ユニットから IN_ROW_DATA アロケーション ユニットに 1 つ以上の行外値を取り込めるようになったときに発生します。This occurs when an update operation frees up space in a record and provides an opportunity to pull in one or more off-row values from the LOB_DATA or ROW_OVERFLOW_DATA allocation units to the IN_ROW_DATA allocation unit.
row_lock_countrow_lock_count bigintbigint 要求された行ロックの累積数。Cumulative number of row locks requested.
row_lock_wait_countrow_lock_wait_count bigintbigint データベース エンジンDatabase Engineが行ロックで待機した累積回数。Cumulative number of times the データベース エンジンDatabase Engine waited on a row lock.
row_lock_wait_in_msrow_lock_wait_in_ms bigintbigint データベース エンジンDatabase Engineが行ロックで待機した合計ミリ秒数。Total number of milliseconds the データベース エンジンDatabase Engine waited on a row lock.
page_lock_countpage_lock_count bigintbigint 要求されたページ ロックの累積数。Cumulative number of page locks requested.
page_lock_wait_countpage_lock_wait_count bigintbigint データベース エンジンDatabase Engineがページ ロックで待機した累積回数。Cumulative number of times the データベース エンジンDatabase Engine waited on a page lock.
page_lock_wait_in_mspage_lock_wait_in_ms bigintbigint データベース エンジンDatabase Engineがページ ロックで待機した合計ミリ秒数。Total number of milliseconds the データベース エンジンDatabase Engine waited on a page lock.
index_lock_promotion_attempt_countindex_lock_promotion_attempt_count bigintbigint データベース エンジンDatabase Engineがロックのエスカレートを試行した累積回数。Cumulative number of times the データベース エンジンDatabase Engine tried to escalate locks.
index_lock_promotion_countindex_lock_promotion_count bigintbigint データベース エンジンDatabase Engineがロックをエスカレートした累積回数。Cumulative number of times the データベース エンジンDatabase Engine escalated locks.
page_latch_wait_countpage_latch_wait_count bigintbigint ラッチ競合のために、データベース エンジンDatabase Engineが待機した累積回数。Cumulative number of times the データベース エンジンDatabase Engine waited, because of latch contention.
page_latch_wait_in_mspage_latch_wait_in_ms bigintbigint ラッチ競合のために、データベース エンジンDatabase Engineが待機した累積ミリ秒数。Cumulative number of milliseconds the データベース エンジンDatabase Engine waited, because of latch contention.
page_io_latch_wait_countpage_io_latch_wait_count bigintbigint データベース エンジンDatabase Engineがページ I/O ラッチで待機した累積回数。Cumulative number of times the データベース エンジンDatabase Engine waited on an I/O page latch.
page_io_latch_wait_in_mspage_io_latch_wait_in_ms bigintbigint データベース エンジンDatabase Engineがページ I/O ラッチで待機した累積ミリ秒数。Cumulative number of milliseconds the データベース エンジンDatabase Engine waited on a page I/O latch.
tree_page_latch_wait_counttree_page_latch_wait_count bigintbigint サブセットpage_latch_wait_countを上位レベルの B ツリー ページのみが含まれています。Subset of page_latch_wait_count that includes only the upper-level B-tree pages. ヒープまたは列ストア インデックスでは、常に 0 です。Always 0 for a heap or columnstore index.
tree_page_latch_wait_in_mstree_page_latch_wait_in_ms bigintbigint サブセットpage_latch_wait_in_msを上位レベルの B ツリー ページのみが含まれています。Subset of page_latch_wait_in_ms that includes only the upper-level B-tree pages. ヒープまたは列ストア インデックスでは、常に 0 です。Always 0 for a heap or columnstore index.
tree_page_io_latch_wait_counttree_page_io_latch_wait_count bigintbigint サブセットpage_io_latch_wait_countを上位レベルの B ツリー ページのみが含まれています。Subset of page_io_latch_wait_count that includes only the upper-level B-tree pages. ヒープまたは列ストア インデックスでは、常に 0 です。Always 0 for a heap or columnstore index.
tree_page_io_latch_wait_in_mstree_page_io_latch_wait_in_ms bigintbigint サブセットpage_io_latch_wait_in_msを上位レベルの B ツリー ページのみが含まれています。Subset of page_io_latch_wait_in_ms that includes only the upper-level B-tree pages. ヒープまたは列ストア インデックスでは、常に 0 です。Always 0 for a heap or columnstore index.
page_compression_attempt_countpage_compression_attempt_count bigintbigint テーブル、インデックス、またはインデックス付きビューの特定のパーティションで、ページ レベルの圧縮が評価されたページの数。Number of pages that were evaluated for PAGE level compression for specific partitions of a table, index, or indexed view. 大幅な節減を実現できないため圧縮されなかったページも含まれます。Includes pages that were not compressed because significant savings could not be achieved. 列ストア インデックスは常に 0 です。Always 0 for columnstore index.
page_compression_success_countpage_compression_success_count bigintbigint テーブル、インデックス、またはインデックス付きビューの特定のパーティションで、ページの圧縮を使用して圧縮されたデータ ページの数。Number of data pages that were compressed by using PAGE compression for specific partitions of a table, index, or indexed view. 列ストア インデックスは常に 0 です。Always 0 for columnstore index.

コメントRemarks

この動的管理オブジェクトには、CROSS APPLY および OUTER APPLY からの相関パラメーターは受け入れられません。This dynamic management object does not accept correlated parameters from CROSS APPLY and OUTER APPLY.

使用することができますsys.dm_db_index_operational_statsまたは読み取り、テーブル、インデックス、またはパーティションを書き込み、およびテーブルまたはインデックスを重大な I/O 動作が発生しているまたはホット特定のユーザーが待つ必要がありますを時間の長さを追跡するには点。You can use sys.dm_db_index_operational_stats to track the length of time that users must wait to read or write to a table, index, or partition, and identify the tables or indexes that are encountering significant I/O activity or hot spots.

競合について確認するには、次の列を使用します。Use the following columns to identify areas of contention.

テーブルまたはインデックス パーティションへの一般的なアクセス パターンを分析する、これらの列を使用します。To analyze a common access pattern to the table or index partition, use these columns:

  • leaf_insert_countleaf_insert_count

  • leaf_delete_countleaf_delete_count

  • leaf_update_countleaf_update_count

  • leaf_ghost_countleaf_ghost_count

  • range_scan_countrange_scan_count

  • singleton_lookup_countsingleton_lookup_count

ラッチおよびロックの競合を特定する場合、次の列を使用します。To identify latching and locking contention, use these columns:

  • page_latch_wait_countpage_latch_wait_in_mspage_latch_wait_count and page_latch_wait_in_ms

    これらの列では、インデックスまたはヒープにラッチ競合があるかどうかが示されます。また競合の重大度も示されます。These columns indicate whether there is latch contention on the index or heap, and the significance of the contention.

  • 場合は row_lock_countpage_lock_countrow_lock_count and page_lock_count

    これらの列では、データベース エンジンDatabase Engineで行とページ ロックの取得が何回試行されたかが示されます。These columns indicate how many times the データベース エンジンDatabase Engine tried to acquire row and page locks.

  • row_lock_wait_in_mspage_lock_wait_in_msrow_lock_wait_in_ms and page_lock_wait_in_ms

    これらの列では、インデックスまたはヒープにロック競合があるかどうかが示されます。また競合の重大度も示されます。These columns indicate whether there is lock contention on the index or heap, and the significance of the contention.

インデックスまたはヒープ パーティションの物理 I/o の統計を分析するにはTo analyze statistics of physical I/Os on an index or heap partition

  • page_io_latch_wait_countpage_io_latch_wait_in_mspage_io_latch_wait_count and page_io_latch_wait_in_ms

    これらの列では、インデックスまたはヒープ ページをメモリ内に移動するために、物理 I/O が発行されたかどうかが示されます。また I/O の発行回数も示されます。These columns indicate whether physical I/Os were issued to bring the index or heap pages into memory and how many I/Os were issued.

列の解説Column Remarks

内の値lob_orphan_create_countlob_orphan_insert_count等しいは常にします。The values in lob_orphan_create_count and lob_orphan_insert_count should always be equal.

列の値lob_fetch_in_pageslob_fetch_in_bytes付加列として 1 つまたは複数の LOB 列を含む非クラスター化インデックスを 0 より大きくすることができます。The value in the columns lob_fetch_in_pages and lob_fetch_in_bytes can be greater than zero for nonclustered indexes that contain one or more LOB columns as included columns. 詳細については、「 付加列インデックスの作成」を参照してください。For more information, see Create Indexes with Included Columns. 列の値では同様に、 row_overflow_fetch_in_pagesrow_overflow_fetch_in_bytesインデックスにプッシュできるように列が含まれている場合に非クラスター化インデックスの場合は 0 より大きくすること行外です。Similarly, the value in the columns row_overflow_fetch_in_pages and row_overflow_fetch_in_bytes can be greater than 0 for nonclustered indexes if the index contains columns that can be pushed off-row.

メタデータ キャッシュ内のカウンターのリセット方法How the Counters in the Metadata Cache Are Reset

によって返されるデータsys.dm_db_index_operational_statsヒープまたはインデックスを表すメタデータ キャッシュ オブジェクトが使用可能な限りのみ存在します。The data returned by sys.dm_db_index_operational_stats exists only as long as the metadata cache object that represents the heap or index is available. このデータは持続性はなく、トランザクション上の一貫性もありません。This data is neither persistent nor transactionally consistent. つまり、これらのカウンターを使って、インデックスが使用されているかどうかや、インデックスが最後に使用されたのはいつであるかを判断することはできません。This means you cannot use these counters to determine whether an index has been used or not, or when the index was last used. これについては、次を参照してください。 sys.dm_db_index_usage_stats (TRANSACT-SQL)します。For information about this, see sys.dm_db_index_usage_stats (Transact-SQL).

ヒープまたはインデックスに対するメタデータがメタデータ キャッシュに組み込まれるたび、各列の値はゼロに設定されます。統計値は、キャッシュ オブジェクトがメタデータ キャッシュから削除されるまで累積されます。The values for each column are set to zero whenever the metadata for the heap or index is brought into the metadata cache and statistics are accumulated until the cache object is removed from the metadata cache. したがって、キャッシュにはアクティブなヒープまたはインデックスのメタデータが常に存在し、SQL ServerSQL Server インスタンスが最後に開始してからの動作が累積数として反映されます。Therefore, an active heap or index will likely always have its metadata in the cache, and the cumulative counts may reflect activity since the instance of SQL ServerSQL Server was last started. アクティブになる頻度が低いヒープやインデックスのメタデータは、使用状況に応じてキャッシュ内外に移動されます。The metadata for a less active heap or index will move in and out of the cache as it is used. その結果、使用できる値が存在する場合と、存在しない場合が発生します。As a result, it may or may not have values available. インデックスを削除すると、対応する統計はメモリから削除され、この関数ではレポートされなくなります。Dropping an index will cause the corresponding statistics to be removed from memory and no longer be reported by the function. インデックスに対するその他の DDL 操作によって、統計の値がゼロにリセットされる場合もあります。Other DDL operations against the index may cause the value of the statistics to be reset to zero.

システム関数によるパラメーター値の指定Using System Functions to Specify Parameter Values

使用することができます、Transact-SQLTransact-SQL関数DB_IDOBJECT_IDの値を指定する、 database_idobject_idパラメーター。You can use the Transact-SQLTransact-SQL functions DB_ID and OBJECT_ID to specify a value for the database_id and object_id parameters. ただし、これらの関数に無効な値を渡すと、意図しない結果が生じる可能性があります。However, passing values that are not valid to these functions may cause unintended results. DB_ID または OBJECT_ID を使用する場合は、必ず有効な ID が返されるようにしてください。Always make sure that a valid ID is returned when you use DB_ID or OBJECT_ID. 詳細については、「解説」セクションを参照してください。 sys.dm_db_index_physical_stats (TRANSACT-SQL)します。For more information, see the Remarks section in sys.dm_db_index_physical_stats (Transact-SQL).

アクセス許可Permissions

次の権限が必要です。Requires the following permissions:

  • データベース内の指定したオブジェクトに対する CONTROL 権限。CONTROL permission on the specified object within the database

  • @ のオブジェクトのワイルドカードを使用して指定したデータベース内のすべてのオブジェクトに関する情報を返す VIEW DATABASE STATE 権限object_id = NULLVIEW DATABASE STATE permission to return information about all objects within the specified database, by using the object wildcard @object_id = NULL

  • データベースのワイルドカード @ を使用して、すべてのデータベースに関する情報を返す VIEW SERVER STATE 権限database_id = NULLVIEW SERVER STATE permission to return information about all databases, by using the database wildcard @database_id = NULL

VIEW DATABASE STATE 権限を許可すると、特定のオブジェクトに対して CONTROL 権限が拒否されていたとしても、データベース内のすべてのオブジェクトを取得することができます。Granting VIEW DATABASE STATE allows all objects in the database to be returned, regardless of any CONTROL permissions denied on specific objects.

VIEW DATABASE STATE 権限を拒否すると、特定のオブジェクトに対する CONTROL 権限が許可されていたとしても、そのデータベース内のどのオブジェクトも取得できません。Denying VIEW DATABASE STATE disallows all objects in the database to be returned, regardless of any CONTROL permissions granted on specific objects. ときに、データベースのワイルドカード @database_id= NULL を指定すると、データベースを省略するとします。Also, when the database wildcard @database_id=NULL is specified, the database is omitted.

詳細については、次を参照してください。動的管理ビューおよび関数(TRANSACT-SQL)します。For more information, see Dynamic Management Views and Functions (Transact-SQL).

使用例Examples

A.A. 指定したテーブルについての情報を返すReturning information for a specified table

次の例では、AdventureWorks2012AdventureWorks2012 データベース内にある Person.Address テーブルのすべてのインデックスとパーティションについて、情報を返します。The following example returns information for all indexes and partitions of the Person.Address table in the AdventureWorks2012AdventureWorks2012 database. このクエリを実行して、少なくとも、CONTROL 権限が必要でPerson.Addressテーブル。Executing this query requires, at a minimum, CONTROL permission on Person.Address table.

重要

Transact-SQLTransact-SQL 関数 DB_ID および OBJECT_ID を使ってパラメーター値を返すときには、有効な ID が返されることを常に確認してください。When you are using the Transact-SQLTransact-SQL functions DB_ID and OBJECT_ID to return a parameter value, always ensure that a valid ID is returned. データベースまたはオブジェクト名が存在しないか、スペルが間違っていることが原因で見つからない場合は、両方の関数で NULL が返されます。If the database or object name cannot be found, such as when they do not exist or are spelled incorrectly, both functions will return NULL. sys.dm_db_index_operational_stats 関数では、NULL 値はすべてのデータベースまたはすべてのオブジェクトを指定するワイルドカード値として解釈されます。The sys.dm_db_index_operational_stats function interprets NULL as a wildcard value that specifies all databases or all objects. これによって意図しない操作が実行される可能性があるので、この例では安全な方法を使用してデータベース ID とオブジェクト ID を特定します。Because this can be an unintentional operation, the examples in this section demonstrate the safe way to determine database and object IDs.

DECLARE @db_id int;    
DECLARE @object_id int;    
SET @db_id = DB_ID(N'AdventureWorks2012');    
SET @object_id = OBJECT_ID(N'AdventureWorks2012.Person.Address');    
IF @db_id IS NULL     
  BEGIN;    
    PRINT N'Invalid database';    
  END;    
ELSE IF @object_id IS NULL    
  BEGIN;    
    PRINT N'Invalid object';    
  END;    
ELSE    
  BEGIN;    
    SELECT * FROM sys.dm_db_index_operational_stats(@db_id, @object_id, NULL, NULL);    
  END;    
GO    
    

B.B. すべてのテーブルとインデックスの情報を返すReturning information for all tables and indexes

次の例では、SQL ServerSQL Server インスタンス内のすべてのテーブルとインデックスについて情報を返します。The following example returns information for all tables and indexes within the instance of SQL ServerSQL Server. このクエリを実行するには、VIEW SERVER STATE 権限が必要です。Executing this query requires VIEW SERVER STATE permission.

SELECT * FROM sys.dm_db_index_operational_stats( NULL, NULL, NULL, NULL);    
GO    
    

参照See Also

動的管理ビューと動的管理関数 (Transact-SQL) Dynamic Management Views and Functions (Transact-SQL)
インデックス関連の動的管理ビューおよび関数 (Transact-SQL) Index Related Dynamic Management Views and Functions (Transact-SQL)
パフォーマンスの監視とチューニング Monitor and Tune for Performance
sys.dm_db_index_physical_stats (Transact-SQL) sys.dm_db_index_physical_stats (Transact-SQL)
sys.dm_db_index_usage_stats (Transact-SQL) sys.dm_db_index_usage_stats (Transact-SQL)
sys.dm_os_latch_stats (Transact-SQL) sys.dm_os_latch_stats (Transact-SQL)
sys.dm_db_partition_stats (TRANSACT-SQL) sys.dm_db_partition_stats (Transact-SQL)
sys.allocation_units (Transact-SQL) sys.allocation_units (Transact-SQL)
sys.indexes (Transact-SQL)sys.indexes (Transact-SQL)