対象者:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
アナリティクスプラットフォームシステム(PDW)
Microsoft FabricにおけるSQLデータベース
指定されたテーブル ID 番号、インデックス名または統計名、およびプロパティ名の指定されたインデックスまたは統計プロパティ値を返します。 XML インデックスの NULL を返します。
構文
INDEXPROPERTY ( object_ID , index_or_statistics_name , property )
引数
object_ID
インデックス プロパティ情報を提供するテーブルまたはインデックス付きビューのオブジェクト識別番号を含む式。 object_ID は int です。
index_or_statistics_name
プロパティ情報を返すインデックスまたは統計の名前を含む式。 index_or_statistics_name は nvarchar(128) です。
property
返すインデックスまたは統計プロパティの名前を含む式。 property のデータ型は varchar(128) で、次のいずれかの値を指定できます。
Note
特に明記されていない限り、NULLが有効なプロパティ名でない場合、object_IDが有効なオブジェクト ID でない場合、object_IDが指定されたプロパティに対してサポートされていないオブジェクトの種類であるか、呼び出し元にオブジェクトのメタデータを表示する権限がない場合に、が返されます。
| プロパティ | 説明 | 値 |
|---|---|---|
IndexDepth |
インデックスの深さです。 | インデックス レベルの数です。NULL = XML インデックスまたは入力が無効です。 |
IndexFillFactor |
インデックスが作成されたとき、または最後に再構築されたときに使用された FILL FACTOR 値です。 | FILL FACTOR |
IndexID |
指定のテーブルまたはインデックス付きビュー上のインデックスの ID です。 | インデックス ID |
IsAutoStatistics |
統計は、AUTO_CREATE_STATISTICSの ALTER DATABASE オプションによって生成されました。 |
1 = 真0 = False または XML インデックス。 |
IsClustered |
インデックスはクラスター化されています。 |
1 = 真0 = False または XML インデックス。 |
IsDisabled |
インデックスは無効です。 |
1 = 真0 = 誤りNULL = 入力が無効です。 |
IsFulltextKey |
インデックスは、テーブルのフルテキストおよびセマンティック インデックス作成のキーです。 |
1 = 真0 = False または XML インデックス。NULL = 入力が無効です。 |
IsHypothetical |
インデックスは架空のものであり、データ アクセス パスとして直接使用することはできません。 仮想インデックスは、列レベルの統計を保持し、データベース エンジン チューニング アドバイザーによって管理および使用されます。 |
1 = 真0 = False または XML インデックスNULL = 入力が無効です。 |
IsPadIndex |
インデックスは各内部ノード上で空けておく領域を指定します。 |
1 = 真0 = False または XML インデックス。 |
IsPageLockDisallowed |
ALLOW_PAGE_LOCKSのALTER INDEX オプションによって設定されるページ ロック値。 |
1 = ページロックは許可されていません。0 = ページ ロックが許可されます。NULL = 入力が無効です。 |
IsRowLockDisallowed |
ALLOW_ROW_LOCKSのALTER INDEX オプションによって設定された行ロック値。 |
1 = 行のロックは許可されていません。0 = 行のロックが許可されます。NULL = 入力が無効です。 |
IsStatistics |
index_or_statistics_nameは、CREATE STATISTICS ステートメントまたは AUTO_CREATE_STATISTICS の ALTER DATABASE オプションによって作成される統計です。 |
1 = 真0 = False または XML インデックス。 |
IsUnique |
インデックスは一意です。 |
1 = 真0 = False または XML インデックス。 |
IsColumnstore |
インデックスは、メモリ最適化列ストア インデックスです。 |
1 = 真0 = 誤り適用対象: SQL Server 2012 (11.x) 以降のバージョン。 |
IsOptimizedForSequentialKey |
インデックスには、最終ページ挿入が有効になっている場合の最適化があります。 |
1 = 真0 = 誤り適用対象: SQL Server 2019 (15.x) 以降のバージョン。 |
戻り値の型
int
例外
エラーが発生した場合、または呼び出し元にオブジェクトを表示する権限がない場合に NULL を返します。
ユーザーは、ユーザーが所有しているか、ユーザーにアクセス許可が付与されているセキュリティ保護可能なリソースのメタデータのみを表示できます。 つまり、ユーザーがオブジェクトに対するアクセス許可を持っていない場合、 INDEXPROPERTY などのメタデータ出力の組み込み関数は NULL を返す可能性があります。 詳細については、「 メタデータの可視性の構成」を参照してください。
例
この記事のコード サンプルでは、AdventureWorks2025 または AdventureWorksDW2025 サンプル データベースを使用します。このサンプル データベースは、Microsoft SQL Server サンプルとコミュニティ プロジェクト ホーム ページからダウンロードできます。
A。 Employee テーブルのインデックスのプロパティを返す
以下の例は、AdventureWorks2025データベースのEmployeeテーブルのPK_Employee_BusinessEntityIDインデックスのプロパティのIsClustered、IndexDepth、IndexFillFactorプロパティの値を返します。
SELECT
INDEXPROPERTY(OBJECT_ID('HumanResources.Employee'), 'PK_Employee_BusinessEntityID', 'IsClustered') AS [Is Clustered],
INDEXPROPERTY(OBJECT_ID('HumanResources.Employee'), 'PK_Employee_BusinessEntityID', 'IndexDepth') AS [Index Depth],
INDEXPROPERTY(OBJECT_ID('HumanResources.Employee'), 'PK_Employee_BusinessEntityID', 'IndexFillFactor') AS [Fill Factor];
結果セットは次のとおりです。
Is Clustered Index Depth Fill Factor
------------ ----------- -----------
1 2 0
例: Azure Synapse Analytics、Analytics Platform System (PDW)
B: FactResellerSales テーブルのインデックスのプロパティを返します
次の例では、FactResellerSales テーブルのインデックスの 1 つのプロパティを調べます。
SELECT
INDEXPROPERTY(OBJECT_ID('dbo.FactResellerSales'), 'ClusteredIndex_6d10fa223e5e4c1fbba087e29e16a7a2','IsClustered') AS [Is Clustered],
INDEXPROPERTY(OBJECT_ID('dbo.FactResellerSales'), 'ClusteredIndex_6d10fa223e5e4c1fbba087e29e16a7a2','IsColumnstore') AS [Is Columnstore Index],
INDEXPROPERTY(OBJECT_ID('dbo.FactResellerSales'), 'ClusteredIndex_6d10fa223e5e4c1fbba087e29e16a7a2','IndexFillFactor') AS [Fill Factor];
GO