返回指定远程表的索引信息。
sp_indexes [ @table_server = ] 'table_server'
[ , [@table_name = ] 'table_name' ]
[ , [ @table_catalog = ] 'table_db' ]
[ , [ @table_schema = ] 'table_schema' ]
[ , [ @index_name = ] 'index_name' ]
[ , [ @is_unique = ] 'is_unique' ]
[@table_server =] 'table_server'
是正在为其请求表信息的运行 Microsoft® SQL Server™ 的链接服务器名。table_server 的数据类型为 sysname,没有默认值。
[@table_name =] 'table_name'
为其提供索引信息的远程表的名称。table_name 的数据类型为 sysname,默认值为 NULL。如果为 NULL,则返回指定数据库中的所有表。
[@table_schema =] 'table_schema'
指定表架构。在 Microsoft SQL Server 环境中,该参数对应于表的所有者,table_schema 的数据类型为 sysname,默认值为 NULL。
[@table_catalog =] 'table_db'
table_name 所在数据库的名称。table_catalog 的数据类型为 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 = 唯一 |
INDEX_QUALIFER | sysname | 索引所有者的姓名。某些 DBMS 产品允许表所有者以外的用户创建索引。在 SQL Server 中,该列始终和 TABLE_NAME 相同。 |
INDEX_NAME | sysname | 索引的名称。 |
TYPE | smallint | 索引的类型: 0 = 表的统计 |
ORDINAL_POSITION | int | 列在表中的顺序位置。表中的第一列为 1。该列始终返回值。 |
COLUMN_NAME | sysname | 返回的每个 TABLE_NAME 列的对应列名。 |
ASC_OR_DESC | varchar | 排序规则中使用的顺序: A = 升序 SQL Server 总是返回 A。 |
CARDINALITY | int | 表中的行数或索引中唯一值的数目。 |
PAGES | int | 存储索引或表的页数。 |
FILTER_CONDITION | nvarchar(4000) | SQL Server 不返回值。 |
执行权限默认授予 public 角色。
下面的示例从 LONDON1 数据库服务器的 Northwind 数据库的 Employees 表中返回所有索引信息。
EXEC sp_indexes @table_server = 'LONDON1',
@table_name = 'Employees',
@table_catalog = 'Northwind',
@is_unique = 0
相关文章