SQL Server 2008 更改数据捕获 (CDC) 是否可能在插入时不保留记录?

Pan*_*nco 5 sql-server-2008

SQL Server 2008 引入了一项新的数据审计功能。此功能的基本操作如下:

  1. 当对表启用 CDC 时,SQL Server 会创建另一个表(此处称为 cdc 表),其中包含原始表的所有列以及一些额外的元数据列。
  2. 当插入发生时,cdc 表保留了一份记录副本。
  3. 发生更新时,cdc 表保留更改前和更改后的记录。
  4. 当删除发生时,cdc 表保留更改记录之前。
  5. CDC 使用 SQL Server Agent 监视日志文件并将更改写入 cdc 表
  6. cdc 表中每条记录的元数据的典型大小约为 51 字节。

例如。1 次插入和 1 次更新操作后 原始表保留 1 条记录 cdc 表保留 3 条记录(1 次插入,每次更新 2 条记录)

假设图像大小为 300KB,总大小约为 1,200 KB。它会影响磁盘存储和磁盘 IO。

是否可以不为某种操作(即插入)保留 cdc 记录?

是否有任何其他方法可以审计保留较少记录副本的 Image?

Aar*_*and 4

那么,您是否想要跟踪图像数据的所有版本?如果没有,您是否只能为 CDC 指定某些列而不是仅启用所有列?这将让您跟踪其他列的更改,但忽略图像数据更改。

换句话说,如果您只关心图像数据的当前状态,则可以从基表中获取它。如果您关心图像数据的先前状态,则没有任何方法可以在不将其存储在某处的情况下存储该数据。