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上的数据操作无关。
我想弄清楚 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上的数据操作无关。