各位用户为了找寻关于查询SQL Server Index上次Rebuild时间的方法的资料费劲了很多周折。这里教程网为您整理了关于查询SQL Server Index上次Rebuild时间的方法的相关资料,仅供查阅,以下为您介绍关于查询SQL Server Index上次Rebuild时间的方法的详细内容
朋友有一个Rebuild Index的Job执行一般停掉了,问我是否可以查看哪些Index已经被Rebuild过了。本来以为Sys.index或者Sys.objects会存储类似的信息,结果没有找到。 从网上查了一下,SQL Server没有存储类似的信息。但是因为Rebuild Index会自动更新统计信息,而统计信息的更新时间是可以获得的。所以我们可以大致根据统计信息的时间来估计。 因为统计信息的更新也有可能是达到更新的阀值所做的更新,所以不是非常的准确。 具体的脚本如下:
? 1 2 3 4 5 6 7 8 9 10SELECT
OBJECT_NAME(object_id) [TableName],
name
[IndexName],
STATS_DATE(object_id, stats_id)[LastStatsUpdate]
FROM
sys.stats
WHERE
name
NOT
LIKE
'_WA%'
--
AND
STATS_DATE(object_id, stats_id)
IS
NOT
NULL
AND
OBJECTPROPERTY(object_id,
'IsMSShipped'
) = 0
--查询用户自定义的
ORDER
BY
TableName, IndexName
-----代码来自于:http://stackoverflow.com/questions/2831293/tsql-know-when-index-rebuild-reorg-or-updatestatistics-was-last-run-on-sql-ser
可以根据自己的增加条件筛选。