【问题标题】:List databases modified database between two dates in SQL Server 2008列出数据库在 SQL Server 2008 中两个日期之间修改的数据库
【发布时间】:2015-12-08 12:37:35
【问题描述】:

我正在尝试获取 SQL Server 2008 中两个日期之间修改的数据库列表。

我试过这个查询,

select * 
from sys.objects            
where modify_date between '2015-12-01' and GETDATE()

但所述查询中的modify_date 列仅在更改表设计时才会更改。如果数据被插入到表中,它将不会被覆盖。

我已经检查了 SQL Server 中的 Default trace 选项,它对数据库来说是 ON(设置为 1)。

有没有什么方法可以列出在两个指定日期之间修改的数据库?

提前谢谢你。

【问题讨论】:

  • 所以修改是指数据是否被修改?
  • 对数据库的任何修改(数据或设计)
  • 我想捕捉数据变化的唯一方法就是查看事务日志并增加 i
  • 事务日志给出了从 SQL 服务启动到 SQL 服务停止的修改细节。在我的情况下,SQL 服务每天都会重新启动,所以如果我想在过去 7 天内进行数据修改,这是不可能的。

标签: sql-server-2008


【解决方案1】:

要监控数据,您应该查看 CDC(变更数据捕获)

更改数据捕获记录应用于 SQL Server 表的 INSERT、UPDATE 和 DELETE,并在简单的关系“更改表”中而不是在 XML 的深奥切碎的沙拉中记录更改的内容、地点和时间。这些更改表包含反映您选择跟踪的源表的列结构的列,以及了解所做更改所需的元数据。 Pinal Dave 解释了所有内容,并在一个简单的介绍中提供了大量示例。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-21
  • 2015-02-13
相关资源
最近更新 更多