last_user_update 和 modify_date 有什么区别?

What is the difference between last_user_update and modify_date?

我想弄清楚 table 何时被修改。使用下面的 2 组不同的代码,我得到了 2 个不同的答案:

Select * 
from sys.tables 
where name = 'AN_StockChecks_000_Specs_010_StockChecks_010_PlantStockCheckSettings'

输出:

modify_date
-----------------------
2015-12-07 15:40:58.557

方法 #2:

SELECT 
    OBJECT_NAME(OBJECT_ID) AS DatabaseName, last_user_update, *
FROM 
    sys.dm_db_index_usage_stats
WHERE 
    database_id = DB_ID( 'IESA_DWHS')
    AND ID = OBJECT_ID('AN_StockChecks_000_Specs_010_StockChecks_010_PlantStockCheckSettings')

输出:

last_user_update
-----------------------
2015-12-10 09:25:43.290

sys.tables 中的 modify_date 是上次修改 table 结构 的日期 - 上次添加或删除列的时间,或更改列的属性。

或者如 SQL 服务器联机丛书所说:

modify_date
Date the object was last modified by using an ALTER statement. If the object is a table or a view, modify_date also changes when a clustered index on the table or view is created or altered.

与table上的数据操作无关。