【问题标题】:How to find last modification in database如何在数据库中查找最后一次修改
【发布时间】:2018-03-30 05:53:06
【问题描述】:

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

如果我通过影响整个数据库的应用程序 (XLPR_2001) 进行更改,我想找出更改。如果我找到它,我可以直接在数据库中直接进行这些更改,我会很快完成我的工作。

我在网上搜索它,但对我的情况没有帮助。

【问题讨论】:

    标签: sql database sql-server-2008 tsql


    【解决方案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】:

    @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
    

    【讨论】:

      【解决方案3】:

      您可以在 sys.objects 表的 modify_date 列中找到此信息

      SELECT name, modify_date from sys.objects where type ='U' order by modify_date desc
      

      【讨论】:

      • 您的查询显示修改日期很旧,我正在寻找数据库中表名的最后更改。
      • 我更改了查询
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-01-01
      • 2015-06-09
      • 1970-01-01
      • 2015-01-18
      • 1970-01-01
      • 1970-01-01
      • 2022-10-14
      相关资源
      最近更新 更多