SQL Server语言 - 如何知道何时从更改数据捕获 (CDC) 中删除表或将表添加到其中



SQL Server 2008具有更改数据捕获功能,允许捕获表中所做的更改,例如插入,删除或更新行。

我注意到一个表被排除在变更数据捕获(CDC)之外,这带来了很多问题。

有没有办法找出表格何时从CDC中删除,甚至是谁删除了表格?

是否有某种CDC日志,其中有此类信息?

您可以查看报告/标准报告/架构更改历史记录,我认为它会在那里被拾取,因为捕获表可能会被删除,但该数据来自默认跟踪,因此它可能不会追溯到足够远。

CDC会跟踪在受监控表上所做的DDL更改:http://msdn.microsoft.com/en-us/library/bb522553(v=sql.110).aspx和 http://msdn.microsoft.com/en-us/library/bb510681(v=sql.110).aspx

此外,select modify_date from sys.tables where object_id = object_id('dbo.yourtablename')还会为您提供上次更改表的 DDL 的时间和日期。除非您对所有 DDL 更改都安装了监控,否则 - 据我所知 - 无法对表的定义进行所有更改。

最新更新