如何在数据库中找到最后修改

时间:2017-10-18 11:07:40

标签: sql database sql-server-2008 tsql

我有一个应用程序,它将所有数据存储在SQL Server 2008中。此应用程序创建,修改,更新表。数据库的名称是XLPR_2001,它包含近500个表。

如果我通过应用程序完成了对整个数据库的影响(XLPR_2001),我想找出更改。如果我发现它,那么我可以直接在数据库中直接进行这些更改,我可以非常快速地完成我的工作。

我在网上搜索但在我的情况下没有帮助我。

3 个答案:

答案 0 :(得分:1)

您可以在sys.objects表的

的modify_date列中找到此信息
SELECT name, modify_date from sys.objects where type ='U' order by modify_date desc

答案 1 :(得分:1)

作为您的问题,您正在寻找表格更改效果:

SELECT name [TableName],
       Create_date [CreateDate],
       modify_date [LastUpdate]
FROM sys.all_objects
WHERE type = 'U'
ORDER BY modify_date DESC;

从上面SQL命令,它将为您提供最后受某些活动影响的所有Table_Name(即插入,更新或删除)。

结果:

enter image description here

答案 2 :(得分:1)

@sarslash和@Yogesh在我的情况下,你的代码显示非常古老的结果。我在某处找到了下面的代码,它运行得很好。

select
    object_name(object_id) as OBJ_NAME, *
from
    sys.dm_db_index_usage_stats
where
    database_id = db_id(db_name())
Order by
    dm_db_index_usage_stats.last_user_update desc