大表分批删除脚本
昨天干了件傻事,在公司新搭了个测试库,把正式库还原到测试库后,
把恢复模式改为简单,然后无脑写了个脚本把所有业务表今年以前的数据删除。之后就回家了。
今天跑过来上去一看,呃的神,测试库日志达到了200多GB。这才意识到单个业务表的数据量比较大,
而我用单个DELETE语句来删除的,单个事务忒大了导致日志疯涨到200多GB。
下面分享下大菠萝兄提供的分批删除脚本:
WHILE 1=1 BEGIN DELETE TOP (5000) FROM TB WHERE SYSDATE <= '2013-12-31' IF @@ROWCOUNT < 5000 BREAK; WAITFOR DELAY '00:00:01' END
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步