2014-09-29 4 views

ответ

1

Как об этом:

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 

Эти представления в системном каталоге содержат множество информации о вашей системе.

+0

Большое вам спасибо. – Meem

+0

Или полезный ярлык 'Alt' +' F1' – Darka

Смежные вопросы