大表在SET SYSTEM_VERSIONING = ON期间超时

时间:2019-01-04 14:33:02

标签: sql-server tsql

我在具有1800万条记录的大型表上使用时态功能。为了符合GDPR,我实现了一种关闭版本控制,删除与想要保护其隐私的客户相关的记录并重新打开版本的方法。如果历史记录表中允许删除记录,则显然不需要这样做。我明白为什么他们不允许这样做,尽管我不明白为什么没有实施允许它的选项。

重新启用版本控制会带来问题。它花费了比预期更长的时间,导致超时。似乎与时态表中的记录数量直接相关。重新启用版本控制需要花费30秒钟以上的时间,并且预计此表只会增加。除了增加超时时间之外,还有其他解决办法吗?

1 个答案:

答案 0 :(得分:2)

Per the docs

  

启用时指定现有历史表   SYSTEM_VERSIONING,将在以下时间执行数据一致性检查   当前表和历史记录表。 如果您可以跳过   将DATA_CONSISTENCY_CHECK = OFF指定为附加参数

仅当您确信“之后”状态绝对有效时,才应使用此选项。它执行are here的检查的详细信息。