我正在使用 SQL Server 2008 R2,并运行以下查询来尝试查看上次使用以下 SQL 在我的数据库中更新索引的时间:
SELECT last_system_update, last_user_update,
OBJECT_NAME(object_id) AS tblName
FROM sys.dm_db_index_usage_stats
WHERE database_id = DB_ID('mydatabase')
last_user_update字段是正确的,并且包含 NULL,其中自上次重新启动 SQL Server 以来没有对表进行更新。
当我运行以下查询来重建索引时,我希望last_system_update字段包含一个日期以指示索引已重建:
ALTER INDEX ALL ON dbo.MyTable
REBUILD
但是,此字段仍为 NULL。事实上,服务器上所有数据库中的所有索引的 last_system_update 字段都是空的 (NULL)。last_user_update也不会改变。
我也试过:
UPDATE STATISTICS dbo.MyTable
但没有运气。那么这个字段什么时候更新呢?我怎样才能强制它更新?