sp_indexes (Transact-SQL)

適用対象:SQL Server

指定されたリモート テーブルに関するインデックス情報を返します。

Transact-SQL 構文表記規則

構文

  
sp_indexes [ @table_server = ] 'table_server'   
     [ , [ @table_name = ] 'table_name' ]   
     [ , [ @table_schema = ] 'table_schema' ]   
     [ , [ @table_catalog = ] 'table_db' ]   
     [ , [ @index_name = ] 'index_name' ]   
     [ , [ @is_unique = ] 'is_unique' ]  

引数

[ @table_server= ] 'table_server'
テーブル情報が要求されている SQL Server を実行しているリンク サーバーの名前です。 table_serverは sysname で、既定値はありません。

[ @table_name= ] 'table_name'
インデックス情報を提供する対象のリモート テーブルの名前です。 table_nameは sysname で、既定値は NULL です。 NULL の場合、指定したデータベースのすべてのテーブルが返されます。

[ @table_schema= ] 'table_schema'
テーブル スキーマを指定します。 SQL Server 環境では、これはテーブルの所有者に対応します。 table_schemaは sysname で、既定値は NULL です。

[ @table_catalog= ] 'table_db'
table_nameが存在するデータベースの名前です。 table_dbは sysname で、既定値は NULL です。 NULL の場合、 table_db の既定値は master になります

[ @index_name= ] 'index_name'
情報を要求する対象のインデックスの名前です。 indexsysname で、既定値は NULL です。

[ @is_unique= ] 'is_unique'
情報を返すインデックスの種類です。 is_uniqueはビットで、既定値は NULL で、次のいずれかの値を指定できます。

説明
1 一意のインデックスに関する情報を返します。
0 一意でないインデックスに関する情報を返します。
NULL すべてのインデックスに関する情報を返します。

結果セット

列名 データ型 説明
TABLE_CAT sysname 指定したテーブルが存在するデータベースの名前です。
TABLE_SCHEM sysname テーブルのスキーマ。
TABLE_NAME sysname リモート テーブルの名前。
NON_UNIQUE smallint インデックスが一意かどうか:

0 = 一意

1 = 一意ではない
INDEX_QUALIFER sysname インデックス所有者の名前。 一部の DBMS 製品では、テーブル所有者以外のユーザーがインデックスを作成できます。 SQL Server では、この列は常にTABLE_NAME同じです。
INDEX_NAME sysname インデックス名。
TYPE smallint インデックスの種類:

0 = テーブルの統計

1 = クラスター化

2 = ハッシュ

3 = その他
ORDINAL_POSITION int インデックス内の列の序数位置。 インデックスの最初の列は 1 です。 この列は常に 値を返します。
COLUMN_NAME sysname 返されるTABLE_NAMEの各列に対応する列の名前を指定します。
ASC_OR_DESC varchar 照合順序で使用される順序は次のとおりです。

A = 昇順

D = 降順

NULL = 適用なし

SQL Server は常に A を返します。
CARDINALITY int テーブル内の行数またはインデックス内の一意な値の個数です。
PAGES int インデックスまたはテーブルを格納するページ数を指定します。
FILTER_CONDITION nvarchar(4000) SQL Server は値を返しません。

アクセス許可

スキーマに対する SELECT 権限が必要です。

次の例では、リンク サーバー上のデータベースのEmployeesAdventureWorks2022テーブルからすべてのインデックス情報をSeattle1返します。

EXEC sp_indexes @table_server = 'Seattle1',   
   @table_name = 'Employee',   
   @table_schema = 'HumanResources',  
   @table_catalog = 'AdventureWorks2022';  

参照

分散クエリ ストアド プロシージャ (Transact-SQL)
sp_catalogs (Transact-SQL)
sp_column_privileges (Transact-SQL)
sp_foreignkeys (Transact-SQL)
sp_linkedservers (Transact-SQL)
sp_tables_ex (Transact-SQL)
sp_table_privileges (Transact-SQL)
システム ストアド プロシージャ (Transact-SQL)