朋友有一个Rebuild Index的Job执行一般停掉了,问我是否可以查看哪些Index已经被Rebuild过了。本来以为Sys.index或者Sys.objects会存储类似的信息,结果没有找到。
从网上查了一下,sql Server没有存储类似的信息。但是因为Rebuild Index会自动更新统计信息,而统计信息的更新时间是可以获得的。所以我们可以大致根据统计信息的时间来估计。
因为统计信息的更新也有可能是达到更新的阀值所做的更新,所以不是非常的准确。
具体的脚本如下:
rush:sql;">
SELECT 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
可以根据自己的增加条件筛选。
原文地址:https://www.jb51.cc/mssql/63090.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。