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 '
這是要求資訊之索引的名稱。 index sysname ,預設值為 Null。

[ @is_unique= ] ' is_unique '
這是要傳回信息的索引類型。 is_unique為 bit ,預設值為 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 許可權。

範例

下列範例會從 Employees 連結伺服器上的資料庫 Seattle1 資料表 AdventureWorks2022 傳回所有索引資訊。

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)