sp_indexes (Transact-SQL)

返回指定的远程表的索引信息。

主题链接图标 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 权限。

示例

以下示例将返回 Seattle1 链接服务器上 AdventureWorks2012 数据库的 Employees 表的所有索引信息。

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

请参阅

参考

分布式查询存储过程 (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)