Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Относится к:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Система аналитической платформы (PDW)
SQL база данных в Microsoft Fabric
Содержит строку для каждого индекса или кучи табличного объекта, такого как таблица, представление или функция с табличным значением.
| Имя столбца | Тип данных | Description |
|---|---|---|
object_id |
int | Идентификатор объекта, которому принадлежит данный индекс. |
name |
sysname | Имя индекса. имя уникально только в объекте. NULL = куча. |
index_id |
int | Идентификатор индекса. index_id уникально только в объекте. 0 = куча; 1 = кластеризованный индекс; > 1 = некластеризованный индекс |
type |
tinyint | Тип индекса: 0 = куча; 1 = кластеризованное хранилище строк (B-дерево) 2 = некластеризованное хранилище строк (B-tree) 3 = XML. 4 = пространственный. 5 = кластеризованный индекс columnstore 2 6 = некластеризованный индекс columnstore 1 7 = некластеризованный хэш-индекс 2 9 = JSON 5 |
type_desc |
nvarchar(60) | Описание типа индекса. -КУЧА -КЛАСТЕРНЫЙ - НЕКЛАСТЕРИЗОВАННЫЙ — XML -ПРОСТРАНСТВЕННЫЙ — CLUSTERED COLUMNSTORE 2 — NONCLUSTERED COLUMNSTORE 1 - НЕКЛАСТЕРИЗОВАННЫЙ ХЭШ 2, 8 — JSON 5 |
is_unique |
bit | 1 = индекс уникален. 0 = индекс не является уникальным. Всегда равен 0 для кластеризованных индексов columnstore. |
data_space_id |
int | Идентификатор пространства данных этого индекса. Пространством данных может быть или файловая группа, или схема секционирования. 0 = object_id — это табличная функция или индекс в памяти. |
ignore_dup_key |
bit | 1 = IGNORE_DUP_KEY ВКЛЮЧЕНО. 0 = параметр IGNORE_DUP_KEY имеет значение OFF. |
is_primary_key |
bit | 1 = индекс является частью ограничения PRIMARY KEY. Всегда равен 0 для кластеризованных индексов columnstore. |
is_unique_constraint |
bit | 1 = индекс является частью ограничения UNIQUE. Всегда равен 0 для кластеризованных индексов columnstore. |
fill_factor |
tinyint |
> 0 = процент FILLFACTOR, используемый при создании или перестроении индекса. 0 = значение по умолчанию. Всегда равен 0 для кластеризованных индексов columnstore. |
is_padded |
bit | 1 = PADINDEX включен. 0 = параметр PADINDEX имеет значение OFF. Всегда равен 0 для кластеризованных индексов columnstore. |
is_disabled |
bit | 1 = индекс отключен. 0 = индекс не отключен. |
is_hypothetical |
bit | 1 = индекс является гипотетическим и не может использоваться непосредственно в качестве пути доступа к данным. Гипотетические индексы содержат статистику уровня столбцов. 0 = индекс не является гипотетическим. |
allow_row_locks |
bit | 1 = индекс допускает блокировки строк. 0 = индекс не разрешает блокировки строк. Всегда равен 0 для кластеризованных индексов columnstore. |
allow_page_locks |
bit | 1 = индекс допускает блокировки страниц. 0 = индекс не разрешает блокировки страниц. Всегда равен 0 для кластеризованных индексов columnstore. |
has_filter |
bit | 1 = индекс с фильтром; содержит строки, удовлетворяющие определению фильтра. 0 = индекс не имеет фильтра. |
filter_definition |
nvarchar(max) | Выражение для подмножества строк, включенного в фильтруемый индекс. NULL для кучи, нефильтрованного индекса или недостаточно разрешений для таблицы. |
compression_delay |
int |
> 0 = задержка сжатия индекса columnstore, указанная в минутах. NULL = задержка сжатия строк группы строк columnstore управляется автоматически. |
suppress_dup_key_messages
3, 6, 7 |
bit | 1 = индекс настроен для подавления повторяющихся ключевых сообщений во время операции перестроения индекса. 0 = индекс не настроен для подавления повторяющихся ключевых сообщений во время операции перестроения индекса. |
auto_created
6 |
bit | 1 = индекс был создан автоматической настройкой. 0 = индекс был создан пользователем. |
optimize_for_sequential_key
4, 6, 7 |
bit | 1 = индекс включена оптимизация вставки последней страницы. 0 = значение по умолчанию. Индекс отключил оптимизацию вставки последней страницы. |
1Применимо к: SQL Server 2012 (11.x) и более поздним версиям.
2Применимо к: SQL Server 2014 (12.x) и более поздним версиям.
3Применимо к: SQL Server 2017 (14.x) и более поздним версиям.
4Применимо к: SQL Server 2019 (15.x) и более поздним версиям.
5Применимо к: SQL Server 2025 (17.x) и более поздним версиям.
6Применимо к: Базе данных SQL Azure.
7применяется к управляемому экземпляру SQL Azure.
8NONCLUSTERED HASH индексов поддерживаются только в таблицах, оптимизированных для памяти. В sys.hash_indexes представлении отображаются текущие хэш-индексы и хэш-свойства. Дополнительные сведения см. в sys.hash_indexes.
Permissions
Видимость метаданных в представлениях каталога ограничена защищаемыми объектами, которыми владеет пользователь или которым пользователь получил некоторое разрешение. Дополнительные сведения см. в разделе "Конфигурация видимости метаданных".
Examples
Следующий пример возвращает все индексы таблицы Production.Product в базе данных AdventureWorks2025.
SELECT i.name AS index_name,
i.type_desc,
is_unique,
ds.type_desc AS filegroup_or_partition_scheme,
ds.name AS filegroup_or_partition_scheme_name,
ignore_dup_key,
is_primary_key,
is_unique_constraint,
fill_factor,
is_padded,
is_disabled,
allow_row_locks,
allow_page_locks
FROM sys.indexes AS i
INNER JOIN sys.data_spaces AS ds
ON i.data_space_id = ds.data_space_id
WHERE is_hypothetical = 0
AND i.index_id <> 0
AND i.object_id = OBJECT_ID('Production.Product');
GO
Связанный контент
- Представления каталога объектов (Transact-SQL)
- Представления системного каталога (Transact-SQL)
- sys.index_columns
- sys.xml_indexes
- sys.objects
- sys.key_constraints
- sys.filegroups
- sys.partition_schemes
- Часто задаваемые вопросы о запросах к системному каталогу SQL Server
- In-Memory обзоре и сценариях использования OLTP