sys.indexes (Transact-SQL)sys.indexes (Transact-SQL)

適用対象: yesSQL Server yesAzure SQL Database yesAzure Synapse Analytics (SQL DW) yesParallel Data Warehouse APPLIES TO: yesSQL Server yesAzure SQL Database yesAzure Synapse Analytics (SQL DW) yesParallel Data Warehouse

テーブル、ビュー、テーブル値関数など、テーブル オブジェクトのインデックスまたはヒープごとに 1 行のデータを格納します。Contains a row per index or heap of a tabular object, such as a table, view, or table-valued function.

列名Column name データ型Data type [説明]Description
object_idobject_id intint このインデックスが所属するオブジェクトの ID。ID of the object to which this index belongs.
namename sysnamesysname インデックスの名前。Name of the index. nameは、オブジェクト内でのみ一意です。name is unique only within the object.

NULL = ヒープNULL = Heap
index_idindex_id intint インデックスの ID。ID of the index. index_idは、オブジェクト内でのみ一意です。index_id is unique only within the object.

0 = ヒープ0 = Heap

1 = クラスター化インデックス1 = Clustered index

> 1 = 非クラスター化インデックス> 1 = Nonclustered index
type tinyinttinyint インデックスの種類:Type of index:

0 = ヒープ0 = Heap

1 = クラスター化1 = Clustered

2 = 非クラスター化2 = Nonclustered

3 = XML3 = XML

4 = 空間4 = Spatial

5 = クラスター化列ストアインデックス。5 = Clustered columnstore index. 適用対象: SQL Server 2014 (12.x)SQL Server 2014 (12.x) 以降。Applies to: SQL Server 2014 (12.x)SQL Server 2014 (12.x) and later.

6 = 非クラスター化列ストアインデックス。6 = Nonclustered columnstore index. 適用対象: SQL Server 2012 (11.x)SQL Server 2012 (11.x) 以降。Applies to: SQL Server 2012 (11.x)SQL Server 2012 (11.x) and later.

7 = 非クラスター化ハッシュインデックス。7 = Nonclustered hash index. 適用対象: SQL Server 2014 (12.x)SQL Server 2014 (12.x) 以降。Applies to: SQL Server 2014 (12.x)SQL Server 2014 (12.x) and later.
type_desctype_desc nvarchar(60)nvarchar(60) インデックスの種類の説明:Description of index type:

ヒープHEAP

CLUSTEREDCLUSTERED

NONCLUSTEREDNONCLUSTERED

XMLXML

許容SPATIAL

クラスター化列ストア: SQL Server 2014 (12.x)SQL Server 2014 (12.x) 以降に適用されます。CLUSTERED COLUMNSTORE - Applies to: SQL Server 2014 (12.x)SQL Server 2014 (12.x) and later.

非クラスター化列ストア: SQL Server 2012 (11.x)SQL Server 2012 (11.x) 以降に適用されます。NONCLUSTERED COLUMNSTORE - Applies to: SQL Server 2012 (11.x)SQL Server 2012 (11.x) and later.

非クラスター化ハッシュ: 非クラスター化ハッシュインデックスは、メモリ最適化テーブルでのみサポートされています。NONCLUSTERED HASH : NONCLUSTERED HASH indexes are supported only on memory-optimized tables. sys.hash_indexes ビューでは、現在のハッシュ インデックスとハッシュ プロパティが表示されます。The sys.hash_indexes view shows the current hash indexes and the hash properties. 詳細については、「 sys (. hash_indexes transact-sql)」を参照してください。For more information, see sys.hash_indexes (Transact-SQL). 適用対象: SQL Server 2014 (12.x)SQL Server 2014 (12.x) 以降。Applies to: SQL Server 2014 (12.x)SQL Server 2014 (12.x) and later.
is_uniqueis_unique bitbit 1 = インデックスは一意です。1 = Index is unique.

0 = インデックスは一意ではありません。0 = Index is not unique.

クラスター化列ストア インデックスの場合、常に 0 です。Always 0 for clustered columnstore indexes.
data_space_iddata_space_id intint インデックスのデータ領域の ID。ID of the data space for this index. データ領域は、ファイル グループまたはパーティション構成です。Data space is either a filegroup or partition scheme.

0 = object_idはテーブル値関数またはメモリ内インデックスです。0 = object_id is a table-valued function or in-memory index.
ignore_dup_keyignore_dup_key bitbit 1 = IGNORE_DUP_KEY は ON です。1 = IGNORE_DUP_KEY is ON.

0 = IGNORE_DUP_KEY はオフです。0 = IGNORE_DUP_KEY is OFF.
is_primary_keyis_primary_key bitbit 1 = インデックスは PRIMARY KEY 制約の一部です。1 = Index is part of a PRIMARY KEY constraint.

クラスター化列ストア インデックスの場合、常に 0 です。Always 0 for clustered columnstore indexes.
is_unique_constraintis_unique_constraint bitbit 1 = インデックスは UNIQUE 制約の一部です。1 = Index is part of a UNIQUE constraint.

クラスター化列ストア インデックスの場合、常に 0 です。Always 0 for clustered columnstore indexes.
fill_factorfill_factor tinyinttinyint > 0 = インデックスが作成または再構築されたときに使用される FILLFACTOR のパーセンテージ。> 0 = FILLFACTOR percentage used when the index was created or rebuilt.

0 = 既定値0 = Default value

クラスター化列ストア インデックスの場合、常に 0 です。Always 0 for clustered columnstore indexes.
is_paddedis_padded bitbit 1 = PADINDEX はオンです。1 = PADINDEX is ON.

0 = PADINDEX はオフです。0 = PADINDEX is OFF.

クラスター化列ストア インデックスの場合、常に 0 です。Always 0 for clustered columnstore indexes.
is_disabledis_disabled bitbit 1 = インデックスは無効です。1 = Index is disabled.

0 = インデックスは無効になっていません。0 = Index is not disabled.
is_hypotheticalis_hypothetical bitbit 1 = インデックスは仮想的であり、データへのアクセス パスとして直接使用することはできません。1 = Index is hypothetical and cannot be used directly as a data access path. 仮想インデックスは、列レベルの統計を保持しています。Hypothetical indexes hold column-level statistics.

0 = インデックスは仮想的ではありません。0 = Index is not hypothetical.
allow_row_locksallow_row_locks bitbit 1 = インデックスは行ロックを許可します。1 = Index allows row locks.

0 = インデックスは行ロックを許可しません。0 = Index does not allow row locks.

クラスター化列ストア インデックスの場合、常に 0 です。Always 0 for clustered columnstore indexes.
allow_page_locksallow_page_locks bitbit 1 = インデックスはページロックを許可します。1 = Index allows page locks.

0 = インデックスはページロックを許可しません。0 = Index does not allow page locks.

クラスター化列ストア インデックスの場合、常に 0 です。Always 0 for clustered columnstore indexes.
has_filterhas_filter bitbit 1 = インデックスにはフィルターがあり、フィルター定義を満たす行のみが含まれます。1 = Index has a filter and only contains rows that satisfy the filter definition.

0 = インデックスにフィルターがありません。0 = Index does not have a filter.
filter_definitionfilter_definition nvarchar(max)nvarchar(max) フィルター選択されたインデックスに含まれる行のサブセットの式。Expression for the subset of rows included in the filtered index.

ヒープまたはフィルター選択されたインデックス以外のインデックスの場合は、NULL です。NULL for heap or non-filtered index.
auto_createdauto_created bitbit 1 = インデックスは自動チューニングによって作成されました。1 = Index was created by the automatic tuning.

0 = インデックスはユーザーによって作成されました。0 = Index was created by the user.
optimize_for_sequential_keyoptimize_for_sequential_key bitbit 1 = インデックスの最後のページ挿入最適化が有効になっています。1 = Index has last-page insert optimization enabled.

0 = 既定値。0 = Default value. インデックスの最後のページ挿入最適化が無効になっています。Index has last-page insert optimization disabled.

アクセス許可Permissions

カタログ ビューでのメタデータの表示が、ユーザーが所有しているかそのユーザーが権限を許可されている、セキュリティ保護可能なメタデータに制限されます。The visibility of the metadata in catalog views is limited to securables that a user either owns or on which the user has been granted some permission. 詳細については、「 Metadata Visibility Configuration」をご覧ください。For more information, see Metadata Visibility Configuration.

使用例Examples

次の例では、AdventureWorks2012AdventureWorks2012 データベース内の Production.Product テーブルのすべてのインデックスを返します。The following example returns all indexes for the table Production.Product in the AdventureWorks2012AdventureWorks2012 database.

  
SELECT i.name AS index_name  
    ,i.type_desc  
    ,is_unique  
    ,ds.type_desc AS filegroup_or_partition_scheme  
    ,ds.name AS filegroup_or_partition_scheme_name  
    ,ignore_dup_key  
    ,is_primary_key  
    ,is_unique_constraint  
    ,fill_factor  
    ,is_padded  
    ,is_disabled  
    ,allow_row_locks  
    ,allow_page_locks  
FROM sys.indexes AS i  
INNER JOIN sys.data_spaces AS ds ON i.data_space_id = ds.data_space_id  
WHERE is_hypothetical = 0 AND i.index_id <> 0   
AND i.object_id = OBJECT_ID('Production.Product');  
GO  
  

参照See Also

オブジェクト カタログ ビュー (Transact-SQL) Object Catalog Views (Transact-SQL)
カタログ ビュー (Transact-SQL) Catalog Views (Transact-SQL)
sys.index_columns (Transact-SQL) sys.index_columns (Transact-SQL)
sys.xml_indexes (Transact-SQL) sys.xml_indexes (Transact-SQL)
sys.objects (Transact-SQL) sys.objects (Transact-SQL)
key_constraints (transact-sql) sys.key_constraints (Transact-SQL)
sys.filegroups (Transact-SQL) sys.filegroups (Transact-SQL)
sys.partition_schemes (Transact-SQL) sys.partition_schemes (Transact-SQL)
SQL Server システムカタログに対するクエリについてよく寄せられる質問 Querying the SQL Server System Catalog FAQ
インメモリ OLTP (インメモリ最適化)In-Memory OLTP (In-Memory Optimization)