sp_indexes (Transact-SQL)
Область применения: SQL Server
Возвращает индексную информацию для указанной удаленной таблицы.
Соглашения о синтаксисе Transact-SQL
Синтаксис
sp_indexes
[ @table_server = ] N'table_server'
[ , [ @table_name = ] N'table_name' ]
[ , [ @table_schema = ] N'table_schema' ]
[ , [ @table_catalog = ] N'table_catalog' ]
[ , [ @index_name = ] N'index_name' ]
[ , [ @is_unique = ] is_unique ]
[ ; ]
Аргументы
[ @table_server = ] N'table_server'
Имя связанного сервера под управлением SQL Server, для которого запрашиваются сведения о таблице. @table_server — sysname без значения по умолчанию.
[ @table_name = ] N'table_name'
Имя удаленной таблицы, для которой предоставляются сведения о индексе. @table_name — sysname с значением по умолчаниюNULL
. Если NULL
возвращаются все таблицы в указанной базе данных.
[ @table_schema = ] N'table_schema'
Задает схему таблицы. @table_schema имеет имя sysname с значением по умолчаниюNULL
. В среде SQL Server это значение соответствует владельцу таблицы.
[ @table_catalog = ] N'table_catalog'
Имя базы данных, в которой находится @table_name . @table_catalog — sysname с значением по умолчаниюNULL
. Если NULL
@table_catalog по master
умолчанию.
[ @index_name = ] N'index_name'
Имя индекса, для которого запрашиваются сведения. @index_name — sysname с значением по умолчаниюNULL
.
[ @is_unique = ] is_unique
Тип индекса, для которого возвращаются сведения. @is_unique бит и может быть одним из следующих значений.
значение | Описание |
---|---|
1 |
Возвращает сведения об уникальных индексах. |
0 |
Возвращает сведения об индексах, которые не являются уникальными. |
NULL (по умолчанию) |
Возвращает сведения обо всех индексах. |
Результирующий набор
Имя столбца | Тип данных | Description |
---|---|---|
TABLE_CAT |
sysname | Имя базы данных, в которой расположена указанная таблица. |
TABLE_SCHEM |
sysname | Схема для таблицы. |
TABLE_NAME |
sysname | Имя удаленной таблицы. |
NON_UNIQUE |
smallint | Является ли индекс уникальным или неуникальным:0 = уникальный1 = не уникальный |
INDEX_QUALIFER |
sysname | Имя владельца индекса. Некоторые продукты системы управления базами данных (СУБД) позволяют пользователям, кроме владельца таблицы, создавать индексы. В 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
базы данных AdventureWorks2022
на связанном сервере Seattle1
.
EXEC sp_indexes @table_server = 'Seattle1',
@table_name = 'Employee',
@table_schema = 'HumanResources',
@table_catalog = 'AdventureWorks2022';