0

是否有任何系统表或 dmvSQL Server 2008 R2包含有关针对任何用户表发出的最后一个 DML 语句(select 除外)的信息?

我看到在 sys.tables 中有一个 modify_date 列,但这仅适用于任何表更改(DDL 语句)。我不想在数据库中的每个表上创建触发器,也不想在这个范围的数据库级别上创建触​​发器。

这样做的原因是我想看看最后一次对每个表进行插入、更新或删除语句是什么时候,以便查看我是否可以删除一些不再使用的表 - 这是为了DWH db,其中 db 中的每个表都应该每周/每月/每季度/每年至少进行一次这 3 种操作中的任何一种。

4

1 回答 1

1

选项 1:
为您的数据库启用变更数据捕获。CDC 参考以下链接:

http://technet.microsoft.com/en-us/library/cc627369%28v=sql.105%29.aspx

选项 2:
为每个表创建触发器并在任何表中发生 INSERT/UPDATE/DELETE 时登录公共表(旧的传统方法)。

于 2014-06-16T10:49:00.223 回答