You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Microsoft SQL Server中获取最新更新/插入数据的表?

找出Smartplant Instrumentation数据最后更新/插入的表

你原来的查询没得到正确结果,主要有两个问题:

  • 硬编码了架构ID(SCHEMA_NAME(9)),这只对应ID为9的架构,大概率不是Smartplant Instrumentation数据所在的架构
  • sys.tables里的modify_date记录的是表结构的修改时间(比如新增字段、修改约束),不是数据插入/更新的时间

要追踪数据层面的操作,得用SQL Server的索引使用统计视图,下面是可行的查询:

SELECT
    SCHEMA_NAME(t.schema_id) AS 架构名,
    t.name AS 表名,
    t.create_date AS 表创建时间,
    ius.last_user_update AS 最后数据变更时间,
    ius.last_user_seek AS 最后查询定位时间,
    ius.last_user_scan AS 最后全表扫描时间
FROM
    sys.tables t
LEFT JOIN
    sys.dm_db_index_usage_stats ius 
    ON t.object_id = ius.object_id
    AND ius.database_id = DB_ID() -- 限定当前数据库,避免跨库统计干扰
WHERE
    -- 过滤最近30天有数据变更或查询的表
    COALESCE(ius.last_user_update, ius.last_user_seek, ius.last_user_scan) 
        > DATEADD(DAY, -30, CURRENT_TIMESTAMP)
ORDER BY
    COALESCE(ius.last_user_update, ius.last_user_seek) DESC;

关键说明:

  • last_user_update:记录最后一次对表执行插入、更新、删除操作的时间,这正是你要找的数据更新时间
  • 如果SQL Server服务重启过,sys.dm_db_index_usage_stats里的统计数据会被清空;要是需要长期追踪数据变更,得考虑开启变更数据捕获(CDC),或者给关键表加触发器记录操作日志

内容的提问来源于stack exchange,提问作者Amr Gamal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 19:32:43