大表分批刪除腳本


昨天干了件傻事,在公司新搭了個測試庫,把正式庫還原到測試庫后,
把恢復模式改為簡單,然后無腦寫了個腳本把所有業務表今年以前的數據刪除。之后就回家了。
今天跑過來上去一看,呃的神,測試庫日志達到了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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM