我有一个表 T ,其中包含一个 ID 集作为身份和主键。我在表上启用了 CDC,然后添加了一个我不关心捕获的 XML 字段,所以我没有做任何进一步的事情(重新创建捕获表和/或迁移旧的捕获数据)。
我现在有一个存储过程(除其他事项外)仅更新表 T 中新创建的字段(没有其他字段)。我注意到 CDC 记录的不是更新(操作 = 3,然后是操作 = 4),而是记录删除(operation=1) 后跟一个插入 (operation=2) 并且所有字段都是相同的(当然因为它们都没有更新)
我实际上注意到了这一点,因为我多次插入和/或删除了相同的标识值,这是不可能的(除非 identity_insert 已打开,否则)
为什么 CDC 记录 operation=1 而不是 3 和 operation=2 而不是 4?这是记录在任何地方还是一个错误?