3
Мне нужно отобразить/отобразить все кластерные и некрупные индексы, содержащиеся в таблице.Как отображать индексы таблицы SQL Server?
Как это сделать с помощью SQL Server 2008 R2?
Мне нужно отобразить/отобразить все кластерные и некрупные индексы, содержащиеся в таблице.Как отображать индексы таблицы SQL Server?
Как это сделать с помощью SQL Server 2008 R2?
Как об этом:
SELECT
TableName = t.Name,
i.*
FROM
sys.indexes i
INNER JOIN
sys.tables t ON t.object_id = i.object_id
WHERE
T.Name = 'YourTableName'
Если вам нужна дополнительная информация (например, столбцов, содержащихся в индексе, их тип данных и т.д.) - вы можете расширить свой запрос на что-то вроде этого:
SELECT
TableName = t.Name,
IndexName = i.Name,
IndexType = i.type_desc,
ColumnOrdinal = Ic.key_ordinal,
ColumnName = c.name,
ColumnType = ty.name
FROM
sys.indexes i
INNER JOIN
sys.tables t ON t.object_id = i.object_id
INNER JOIN
sys.index_columns ic ON ic.object_id = i.object_id AND ic.index_id = i.index_id
INNER JOIN
sys.columns c ON c.object_id = ic.object_id AND c.column_id = ic.column_id
INNER JOIN
sys.types ty ON c.system_type_id = ty.system_type_id
WHERE
t.name = 'YourTableName'
ORDER BY
t.Name, i.name, ic.key_ordinal
Эти представления в системном каталоге содержат множество информации о вашей системе.
Большое вам спасибо. – Meem
Или полезный ярлык 'Alt' +' F1' – Darka