代码之家  ›  专栏  ›  技术社区  ›  RaviLobo

在更改跟踪中禁用列更新

  •  1
  • RaviLobo  · 技术社区  · 6 年前

    我已使用以下命令启用更改跟踪:

    ALTER TABLE Table1 ENABLE CHANGE_TRACKING WITH (TRACK_COLUMNS_UPDATED = ON) 
    

    但是,我注意到 TRACK_COLUMNS_UPDATED = ON 创建开销,而且,我的开发团队没有使用该功能。 我如何设置 TRACK_COLUMNS_UPDATED = OFF 是吗?我不想禁用/启用更改跟踪,这可能会导致更改跟踪数据丢失。

    我期待着下面这样的事情:

    ALTER TABLE Table1 ENABLE CHANGE_TRACKING WITH (TRACK_COLUMNS_UPDATED = OFF)
    

    但这不是正确的语法。

    1 回复  |  直到 6 年前
        1
  •  2
  •   Andrea    6 年前

    显然你不能:一旦你启用 CHANGE_TRACKING 在SSMS中 TRACK_COLUMNS_UPDATED 选项变灰:

    enter image description here

    这是另一个来自 this 博客:

    track_columns_updated属性是可选的。如果设置为on,则可以找出每个更新操作将影响哪些单独的列:如果省略,则其值为off(默认值); 请小心,因为一旦启用更改跟踪,就无法更改此选项的值 .如果您确实希望更改它,则必须禁用表上的CT并重复启用过程。