SQL Server 2008 R2
中是否有任何系统表或dmv包含有关针对任何用户表发出的最后一个DML语句(select除外)的信息?
我在sys.tables中看到有一个modify_date列,但它只适用于任何表更改(DDL语句)。 我不想在db中的每个表上创建触发器,也不想为此作用域创建数据库级别的触发器。
这样做的原因是我希望看到最后一次在每个表中插入,更新或删除语句的时间,以便查看是否可以删除一些不再使用的表 - 这用于DWH数据库,其中数据库中的每个表应该至少每周/每月/每季度/每年具有这3个操作中的任何一个。
答案 0 :(得分:1)
选项1:
为您的数据库启用更改数据捕获。
请参阅以下链接获取CDC:
http://technet.microsoft.com/en-us/library/cc627369%28v=sql.105%29.aspx
选项2:
为每个表创建触发器,并在任何表中发生INSERT / UPDATE / DELETE时执行公用表的记录(旧传统方法)。