2010-04-29 1 views

Répondre

12

Dans SQL Server Management Studio, vous pouvez naviguer dans l'arbre à la table qui vous intéresse et ouvrez le nœud index. Un double-clic sur un index de ce nœud ouvrira alors la boîte de dialogue des propriétés qui montrera quelles colonnes sont incluses dans l'index.

Si vous souhaitez utiliser T-SQL, cela pourrait aider:

SELECT 
    sys.tables.name, 
    sys.indexes.name, 
    sys.columns.name 
FROM sys.indexes 
    INNER JOIN sys.tables ON sys.tables.object_id = sys.indexes.object_id 
    INNER JOIN sys.index_columns ON sys.index_columns.index_id = sys.indexes.index_id 
     AND sys.index_columns.object_id = sys.tables.object_id 
    INNER JOIN sys.columns ON sys.columns.column_id = sys.index_columns.column_id 
     AND sys.columns.object_id = sys.tables.object_id 
WHERE sys.tables.name = 'TABLE NAME HERE' 
ORDER BY 
    sys.tables.name, 
    sys.indexes.name, 
    sys.columns.name 
+0

merci daniel. – kumar

+0

+1, besoin de quelque chose comme 'WHERE sys.tables.name = 'YourTableName'' –

+0

Merci, j'ai ajouté la clause WHERE –

0

Essayez

select object_name(object_id),* from sys.indexes 
where object_name(object_id) = 'your table name' 
0

commande par nom de colonne est erroné, vous devez commander par la position dans l'indice , donc order by clause devrait être tabname, indname et sys.index_columns.index_column_id ...

Questions connexes