sp_indexes (Transact-SQL)
适用于:SQL Server
返回指定远程表的索引信息。
语法
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为位,默认值为 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)
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈