删除数百万行而不影响事务日志

时间:2020-01-28 02:04:19

标签: sql sql-server

我们的客户数据库以不断增长的速度发展,更具体地说,诸如审计和日志记录之类的实体正在以更快的速度增长。 例如,截至目前,审计表有约3000万行,并且以每周150万行的速度增长。 同样,“日志记录”表正以每周约100万行的速度增长。该表有约5000万行。 我们决定根据数据保留策略对表进行归档,并在运行归档作业时从这些表中删除一些“ N”个记录。

我正在寻找有关定义chuckSize的最佳建议,该建议不会影响sql server db的事务日志或表锁定。我知道这个值不能直接得出,我们需要运行不同的测试场景才能获得这个神奇的数字。

1 个答案:

答案 0 :(得分:1)

最好的建议是按数据分区,大概按日期分区。

然后,您可以删除整个分区,而不必记录结果。

分区表的主题相当广泛。 documentation是一个很好的起点。