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

適用対象:Applies to: はいSQL ServerSQL Server (サポートされているすべてのバージョン) yesSQL ServerSQL Server (all supported versions) はいAzure SQL データベースAzure SQL DatabaseYesAzure SQL データベースAzure SQL Database はいAzure SQL Managed InstanceAzure SQL Managed InstanceYesAzure SQL Managed InstanceAzure SQL Managed Instance はいAzure Synapse AnalyticsAzure Synapse AnalyticsyesAzure Synapse AnalyticsAzure Synapse Analytics はいParallel Data WarehouseParallel Data WarehouseyesParallel Data WarehouseParallel Data Warehouse適用対象:Applies to: はいSQL ServerSQL Server (サポートされているすべてのバージョン) yesSQL ServerSQL Server (all supported versions) はいAzure SQL データベースAzure SQL DatabaseYesAzure SQL データベースAzure SQL Database はいAzure SQL Managed InstanceAzure SQL Managed InstanceYesAzure SQL Managed InstanceAzure SQL Managed Instance はいAzure Synapse AnalyticsAzure Synapse AnalyticsyesAzure Synapse AnalyticsAzure Synapse Analytics はいParallel Data WarehouseParallel Data WarehouseyesParallel Data WarehouseParallel 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
typetype 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:

HEAPHEAP

CLUSTEREDCLUSTERED

NONCLUSTEREDNONCLUSTERED

XMLXML

SPATIALSPATIAL

クラスター化列ストア: 以降 に適用さ 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, non-filtered index, or insufficient permissions on the table.
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.

注意

Optimize_for_sequential_keyビットは、2019 CTP 3.1 以降のバージョン SQL Server のみでサポートされています。The optimize_for_sequential_key bit is only supported in versions SQL Server 2019 CTP 3.1 and higher.

アクセス許可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)
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)