热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

查询SQLServerIndex上次Rebuild时间的方法

这篇文章主要介绍了查询SQLServerIndex上次Rebuild时间的方法,本文直接给出实现脚本代码,需要的朋友可以参考下

朋友有一个Rebuild Index的Job执行一般停掉了,问我是否可以查看哪些Index已经被Rebuild过了。本来以为Sys.index或者Sys.objects会存储类似的信息,结果没有找到。
 
从网上查了一下,SQL Server没有存储类似的信息。但是因为Rebuild Index会自动更新统计信息,而统计信息的更新时间是可以获得的。所以我们可以大致根据统计信息的时间来估计。
因为统计信息的更新也有可能是达到更新的阀值所做的更新,所以不是非常的准确。
 
具体的脚本如下:

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

 可以根据自己的增加条件筛选。


推荐阅读
author-avatar
518094haha
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有