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

テーブル、ビュー、テーブル値関数など、テーブル オブジェクトのインデックスまたはヒープごとに 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 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
typetype tinyinttinyint インデックスの種類です。Type of index:

0 = ヒープ0 = Heap

1 = クラスター化1 = Clustered

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

3 = XML3 = XML

4 = 空間4 = Spatial

5 = columnstore インデックスをクラスター化します。5 = Clustered columnstore index. 適用対象: SQL Server 2014 (12.x)SQL Server 2014 (12.x) から SQL Server 2017SQL Server 2017Applies to: SQL Server 2014 (12.x)SQL Server 2014 (12.x) through SQL Server 2017SQL Server 2017.

6 = columnstore の非クラスター化インデックスです。6 = Nonclustered columnstore index. 適用対象: 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.

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

HEAPHEAP

CLUSTEREDCLUSTERED

NONCLUSTEREDNONCLUSTERED

XMLXML

SPATIALSPATIAL

クラスター化された COLUMNSTORE ・に適用される:SQL Server 2014 (12.x)SQL Server 2014 (12.x)SQL Server 2017SQL Server 2017CLUSTERED COLUMNSTORE - Applies to: SQL Server 2014 (12.x)SQL Server 2014 (12.x) through SQL Server 2017SQL Server 2017.

非クラスター化の COLUMNSTORE -に適用される:SQL Server 2012 (11.x)SQL Server 2012 (11.x)SQL Server 2017SQL Server 2017NONCLUSTERED COLUMNSTORE - Applies to: SQL Server 2012 (11.x)SQL Server 2012 (11.x) through SQL Server 2017SQL Server 2017.

非クラスター化ハッシュ:非クラスター化ハッシュ インデックスは、メモリ最適化テーブルでのみサポートされます。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) から SQL Server 2017SQL Server 2017Applies to: SQL Server 2014 (12.x)SQL Server 2014 (12.x) through SQL Server 2017SQL Server 2017.
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 はオンです。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

次の例は、テーブルのすべてのインデックスを返しますProduction.Productで、AdventureWorks2012AdventureWorks2012データベース。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)
sys.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)