查询SQL Server Index上次Rebuild时间的方法

朋友有一个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

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

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...