使用 Tsql,我如何知道上次在 SQL 服务器(2000、2005 或 2008)上运行索引重建、重组或更新统计的时间?
问候
最佳答案
SQL Server 不存储此信息。您可以根据上次更新给定索引的统计数据的日期获得“近似”估计值,因为 REBUILD 操作也将更新该索引的统计数据。
这是一个使用 AdventureWorks 数据库的示例:
USE AdventureWorks;
GO
SELECT name AS Stats,
STATS_DATE(object_id, stats_id) AS LastStatsUpdate
FROM sys.stats
WHERE object_id = OBJECT_ID('Sales.SalesOrderDetail')
and left(name,4)!='_WA_';
GO
您可能需要考虑使用许多免费的 SQL Server 索引优化维护脚本之一。这些提供了一种方法来存储在给定数据库上执行的索引操作的详细信息,从而提供有关索引上次重建时间的信息。
看看优Index Maintenance Script由米歇尔·乌福德撰写
关于sql-server - Tsql,知道上次在 SQL 服务器上运行索引重建、重组或更新统计的时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2831293/