次の方法で共有


sys.indexes(Transact-SQL)

対象者:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analyticsアナリティクスプラットフォームシステム(PDW)Microsoft FabricにおけるSQLデータベース

テーブル、ビュー、テーブル値関数など、テーブル オブジェクトのインデックスまたはヒープごとに 1 行のデータを格納します。

列名 データの種類 Description
object_id int このインデックスが属するオブジェクトの ID。
name sysname インデックス名。 name はオブジェクト内でのみ一意です。

NULL = ヒープ
index_id int インデックスの ID。 index_idはオブジェクト内でのみ一意です。

0 = ヒープ
1 = クラスター化インデックス
> 1 = 非クラスター化インデックス
type tinyint インデックスの種類:

0 = ヒープ
1 = クラスター化された行ストア (B ツリー)
2 = 非クラスター化行ストア (B ツリー)
3 = XML
4 = 空間
5 = クラスター化列ストア インデックス 2
6 = 非クラスター化列ストア インデックス 1
7 = 非クラスター化ハッシュ インデックス 2
9 = JSON 5
type_desc nvarchar(60) インデックスの種類の説明:

-ヒープ
-クラスター 化
- 非クラスタリング
- XML
-空間的
- クラスタ化されたコラムストア 2
- 非クラスタ化されたカラムストア 1
- NONCLUSTERED HASH 2、8
- JSON 5
is_unique bit 1 = インデックスは一意です。
0 = インデックスは一意ではありません。

クラスター化列ストア インデックスの場合、常に 0 です。
data_space_id int インデックスのデータ領域の ID。 データ領域は、ファイル グループまたはパーティション構成です。

0 = object_idは、テーブル値関数またはメモリ内インデックスです。
ignore_dup_key bit 1 = IGNORE_DUP_KEYはオンです。
0 = IGNORE_DUP_KEYは OFF です。
is_primary_key bit 1 = インデックスは PRIMARY KEY 制約の一部です。

クラスター化列ストア インデックスの場合、常に 0 です。
is_unique_constraint bit 1 = インデックスは UNIQUE 制約の一部です。

クラスター化列ストア インデックスの場合、常に 0 です。
fill_factor tinyint > 0 = インデックスの作成時または再構築時に使用される FILLFACTOR の割合。
0 = 既定値

クラスター化列ストア インデックスの場合、常に 0 です。
is_padded bit 1 = PADINDEXがオンです。
0 = PADINDEX が OFF です。

クラスター化列ストア インデックスの場合、常に 0 です。
is_disabled bit 1 = インデックスが無効です。
0 = インデックスが無効になっていません。
is_hypothetical bit 1 = インデックスは仮定的であり、データ アクセス パスとして直接使用することはできません。 仮想インデックスは、列レベルの統計を保持しています。

0 = インデックスは仮定ではありません。
allow_row_locks bit 1 = インデックスは行ロックを許可します。
0 = インデックスは行ロックを許可しません。

クラスター化列ストア インデックスの場合、常に 0 です。
allow_page_locks bit 1 = インデックスはページ ロックを許可します。
0 = インデックスはページ ロックを許可しません。

クラスター化列ストア インデックスの場合、常に 0 です。
has_filter bit 1 = インデックスにはフィルターがあり、フィルター定義を満たす行のみが含まれます。
0 = インデックスにフィルターがありません。
filter_definition nvarchar(max) フィルター選択されたインデックスに含まれる行のサブセットの式。

ヒープ、フィルター処理されていないインデックス、またはテーブルに対するアクセス許可が不十分な場合は NULL。
compression_delay int > 0 = 列ストア インデックスの圧縮遅延を分単位で指定します。

NULL = 列ストア インデックス行グループの圧縮遅延は自動的に管理されます。
suppress_dup_key_messages 3, 6, 7 bit 1 = インデックス再構築操作中に重複するキー メッセージを抑制するようにインデックスが構成されます。

0 = インデックス再構築操作中に重複するキー メッセージを抑制するようにインデックスが構成されていません。
auto_created 6 bit 1 = インデックスは自動チューニングによって作成されました。
0 = ユーザーによってインデックスが作成されました。
optimize_for_sequential_key 4, 6, 7 bit 1 = インデックスで最終ページ挿入の最適化が有効になっています。
0 = 既定値。 インデックスの最終ページ挿入の最適化が無効になっています。

1適用対象: SQL Server 2012 (11.x) 以降のバージョン。

2適用対象: SQL Server 2014 (12.x) 以降のバージョン。

3適用対象: SQL Server 2017 (14.x) 以降のバージョン。

4適用対象: SQL Server 2019 (15.x) 以降のバージョン。

5対象: SQL Server 2025(17.x)以降のバージョン。

6適用対象: Azure SQL Database。

7適用対象: Azure SQL Managed Instance。

8NONCLUSTERED HASH インデックスは、メモリ最適化テーブルでのみサポートされます。 sys.hash_indexes ビューには、現在のハッシュ インデックスとハッシュ プロパティが表示されます。 詳細については、「 sys.hash_indexes」を参照してください。

Permissions

カタログ ビューでのメタデータの可視性は、ユーザーが所有しているか、ユーザーに何らかのアクセス許可が付与されているセキュリティ保護可能なリソースに限定されます。 詳細については、「 メタデータの可視性の構成」を参照してください。

Examples

次の例では、AdventureWorks2022 データベースの Production.Product テーブルのすべてのインデックスを返します。

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