1.MSSQL 单表数据量为3千万+ 已做复制
现在想删除2014年之前的记录大约2千万多条记录
2.删除完数据后做收缩,会不会影响到正常运营,大约能收缩50G
生产库不能停机
求合理解决办法
------解决方案--------------------
我最近在做类似的,删除数据不能一次性删除,死定的,我这边有时间列,我是每个月一次来删除,当然,删除前要做完整备份。复制方面不用做什么,收缩也是,不要一次性收缩,一次100M左右,虽然次数多,但是影响面小,另外就是服务器闲时操作
------解决方案--------------------
你的数据量也挺大的了,建议:
1.不要一次删除,而是最好要分批删除,比如一次删除1个月的
2.最好在晚上的维护时间内删除,如果在白天删除,可能导致严重的阻塞问题。
3.像这种删除,速度肯定不会快,所以建议把这个表,按照日期字段,改为分区表,这样可以每个月一个分区,到时候要删除,只需要一个一个分区删除就可以了,删除的速度是秒级别的,速度非常快,而且也方便进行历史数据的迁移
------解决方案--------------------
这样太容易了,删1天的数据,如果很快,多删几天,或者一个月,然后马上做一个日志备份,磁盘顶得住的,1个月的数据估计产生的日志都不会超过1G,