対象者:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure 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