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 2005, для которого запрашиваются сведения о таблице. Аргумент 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 |
Имя владельца индекса. Некоторые СУБД разрешают пользователям, не являющимся владельцами таблицы, создавать индексы. В 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
базы данных AdventureWorks
на связанном сервере Seattle1
.
EXEC sp_indexes @table_server = 'Seattle1',
@table_name = 'Employee',
@table_schema = 'HumanResources',
@table_catalog = 'AdventureWorks'
См. также
Справочник
Хранимые процедуры распределенных запросов (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)
Другие ресурсы
Отделение пользователей от схем