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 по умолчанию используется для главного параметра.

[ ] @index_name= 'index_name'
Имя индекса, для которого запрашиваются сведения. индекс имеет имя sysname с значением NULL по умолчанию.

[ ] @is_unique= 'is_unique'
Тип индекса, для которого запрашиваются сведения. is_unique бит с значением NULL по умолчанию и может быть одним из следующих значений.

значение Description
1 Возвращает сведения об уникальных индексах.
0 Возвращает сведения об неуникальных индексах.
NULL Возвращает сведения обо всех индексах.

Результирующие наборы

Имя столбца Тип данных Описание:
TABLE_CAT sysname Имя базы данных, в которой расположена указанная таблица.
TABLE_SCHEM sysname Схема для таблицы.
TABLE_NAME sysname Имя удаленной таблицы.
NON_UNIQUE smallint Является ли индекс уникальным или неуникальным:

0 = уникальное

1 = неуникальное
INDEX_QUALIFER sysname Имя владельца индекса. В некоторых СУБД пользователям, не являющимся владельцами таблицы, разрешено создавать индексы. В SQL Server этот столбец всегда совпадает с TABLE_NAME.
INDEX_NAME sysname Имя индекса.
ТИП 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 базы данных AdventureWorks2022 на связанном сервере 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)