我有一个应用程序,它将所有数据存储在SQL Server 2008中。此应用程序创建,修改,更新表。数据库的名称是XLPR_2001
,它包含近500个表。
如果我通过应用程序完成了对整个数据库的影响(XLPR_2001
),我想找出更改。如果我发现它,那么我可以直接在数据库中直接进行这些更改,我可以非常快速地完成我的工作。
我在网上搜索但在我的情况下没有帮助我。
答案 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
(即插入,更新或删除)。
结果:
答案 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