我尝试了 sp_helpindex ,但它显示的索引不包含列。请告诉我如何列出所有包含列(非键)的索引?

最佳答案

尝试对目录 View 执行以下T-SQL查询:

SELECT
    IndexName = i.Name,
    ColName = c.Name
FROM
    sys.indexes i
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
WHERE
    ic.is_included_column = 1
ORDER BY
    i.Name

它基本上检查所有索引(sys.indexes),然后链接到它们的列,并检查哪些列被设计为包含列(ic.is_included_column = 1),然后列出所有这些索引和所有那些列。

关于sql-server - 列出所有包含列的索引(猴子),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18172359/

10-11 17:07