INDEXPROPERTY (Transact-SQL)

更新 : 2006 年 7 月 17 日

指定されたテーブル ID 番号、インデックス名または統計名、およびプロパティ名の指定されたインデックスまたは統計プロパティ値を返します。XML インデックスに対して NULL を返します。

トピック リンク アイコンTransact-SQL 構文表記規則

構文

INDEXPROPERTY ( object_ID , index_or_statistics_name , property ) 

引数

  • object_ID
    インデックス プロパティ情報の提供元となるテーブルまたはインデックス付きビューのオブジェクト ID 番号を含む式です。object_ID のデータ型は int です。
  • index_or_statistics_name
    返されるプロパティ情報の基となるインデックスまたは統計の名前を含む式です。index_or_statistics_name のデータ型は nvarchar(128) です。
  • property
    返されるデータベース プロパティの名前を含む式です。property のデータ型は varchar(128) で、次のいずれかの値を指定できます。

    ms187729.note(ja-jp,SQL.90).gifメモ :
    property が有効なプロパティ名でない場合、object_ID が有効なオブジェクト ID でない場合、object_ID が指定したプロパティでサポートされていないオブジェクトの種類であった場合、または呼び出し側にオブジェクトのメタデータを表示する権限がない場合は、特に指定のない限り、NULL が返されます。
    プロパティ 説明

    IndexDepth

    インデックスの深さです。

    インデックス レベルの数です。

    NULL = XML インデックスまたは無効な入力

    IndexFillFactor

    インデックスが作成されたとき、または最後に再構築されたときに使用された FILL FACTOR 値です。

    FILL FACTOR

    IndexID

    指定のテーブルまたはインデックス付きビュー上のインデックスの ID です。

    インデックス ID です。

    IsAutoStatistics

    ALTER DATABASE の AUTO_CREATE_STATISTICS オプションによって生成された統計です。

    1 = TRUE

    0 = FALSE または XML インデックス

    IsClustered

    インデックスはクラスタ化されています。

    1 = TRUE

    0 = FALSE または XML インデックス

    IsDisabled

    インデックスは無効です。

    1 = TRUE

    0 = FALSE

    NULL = 無効な入力

    IsFulltextKey

    インデックスはテーブルのフルテキスト キーです。

    1 = TRUE

    0 = FALSE または XML インデックス

    NULL = 無効な入力

    IsHypothetical

    インデックスは仮想的であり、データへのアクセス パスとして直接使用することはできません。仮想インデックスは、列レベルの統計を保持し、データベース エンジン チューニング アドバイザによって管理および使用されます。

    1 = TRUE

    0 = FALSE または XML インデックス

    NULL = 無効な入力

    IsPadIndex

    インデックスは各内部ノード上で空けておく領域を指定します。

    1 = TRUE

    0 = FALSE または XML インデックス

    IsPageLockDisallowed

    ALTER INDEX の ALLOW_PAGE_LOCKS オプションによって設定されたページ ロックの値です。

    1 = ページ ロックの禁止

    0 = ページ ロックの許可

    NULL = 無効な入力

    IsRowLockDisallowed

    ALTER INDEX の ALLOW_ROW_LOCKS オプションによって設定された行ロックの値です。

    1 = 行ロックの禁止

    0 = 行ロックの許可

    NULL = 無効な入力

    IsStatistics

    index_or_statistics_name は、CREATE STATISTICS ステートメントまたは ALTER DATABASE の AUTO_CREATE_STATISTICS オプションによって作成された統計です。

    1 = TRUE

    0 = FALSE または XML インデックス

    IsUnique

    インデックスは一意です。

    1 = TRUE

    0 = FALSE または XML インデックス

戻り値の型

int

例外

エラーが発生した場合、または呼び出し元にオブジェクトの表示権限がない場合は、NULL が返されます。

SQL Server 2005 では、そのユーザーが所有しているか、または権限を与えられているセキュリティ保護可能なアイテムのメタデータのみを表示できます。つまり、オブジェクトに対する権限がユーザーに与えられていない場合、メタデータを生成する組み込み関数 (INDEXPROPERTY など) が NULL を返す可能性があります。詳細については、「メタデータ表示の構成」および「メタデータ表示のトラブルシューティング」を参照してください。

次の例では、Employee テーブルの PK_Employee_EmployeeID インデックスについて IsClusteredIndexDepth、および IndexFillFactor プロパティの値を返します。

USE AdventureWorks;
GO
SELECT 
    INDEXPROPERTY(OBJECT_ID('HumanResources.Employee'),
        'PK_Employee_EmployeeID','IsClustered')AS [Is Clustered],
    INDEXPROPERTY(OBJECT_ID('HumanResources.Employee'),
        'PK_Employee_EmployeeID','IndexDepth') AS [Index Depth],
    INDEXPROPERTY(OBJECT_ID('HumanResources.Employee'),
        'PK_Employee_EmployeeID','IndexFillFactor') AS [Fill Factor];
GO

以下に結果セットを示します。

Is Clustered Index Depth Fill Factor 
------------ ----------- ----------- 
1            2           0

(1 row(s) affected)

参照

関連項目

CREATE INDEX (Transact-SQL)
sys.indexes (Transact-SQL)
sys.index_columns (Transact-SQL)
sys.stats (Transact-SQL)
sys.stats_columns (Transact-SQL)

その他の技術情報

インデックス統計
メタデータ表示のトラブルシューティング

ヘルプおよび情報

SQL Server 2005 の参考資料の入手

変更履歴

リリース 履歴

2006 年 7 月 17 日

追加内容 :
  • 「例外」を追加。