2010-08-16 94 views
34

A在我向SQL Server数据库执行一些批量数据插入操作时,我禁用了许多索引以提高插入性能。我现在需要回去重建/重新启用它们。如何在SQL Server 2008上查找禁用的索引

不幸的是,我不确定我禁用了哪些索引。

有没有一种方法可以查询,以确定哪些索引被禁用,应该重新启用?

+3

为什么这不在IDE!有多难把它弄糊涂? – 2014-11-16 00:41:31

回答

70
select 
    sys.objects.name, 
    sys.indexes.name 
from sys.indexes 
    inner join sys.objects on sys.objects.object_id = sys.indexes.object_id 
where sys.indexes.is_disabled = 1 
order by 
    sys.objects.name, 
    sys.indexes.name