Sql server 2005 列出最近N天内修改的所有表

Sql server 2005 列出最近N天内修改的所有表,sql-server-2005,Sql Server 2005,如何获取过去N天内修改的所有表的列表?如果这是数据,您可以使用如下查询: exec sp_MSforeachtable 'SELECT OBJECT_NAME(OBJECT_ID) AS DatabaseName, last_user_update,* FROM sys.dm_db_index_usage_stats WHERE database_id = DB_ID(''<yourDataBaseNameHere>'') AND OBJECT_ID=OBJECT_ID(''?'')

如何获取过去N天内修改的所有表的列表?

如果这是数据,您可以使用如下查询:

exec sp_MSforeachtable 'SELECT OBJECT_NAME(OBJECT_ID) AS DatabaseName, last_user_update,*
FROM sys.dm_db_index_usage_stats
WHERE database_id = DB_ID(''<yourDataBaseNameHere>'')
AND OBJECT_ID=OBJECT_ID(''?'')'
exec sp\u MSforeachtable'选择对象名称(对象ID)作为数据库名称,上次用户更新*
从sys.dm\u db\u index\u usage\u stats
其中数据库\u id=DB\u id(“”)
而OBJECT_ID=OBJECT_ID(“”)

并根据您感兴趣的日期范围筛选结果。请参阅latt_user_Update栏。

您也可以参考此答案:


Modified-数据或结构?从sys.tables中选择名称,其中DATEDIFF(D,modify_date,GETDATE())<60最后我得到了一个很好的解决方案。David Brabant感谢您的支持。