問題的引出:我們的切割過程就是將單據數據中某個日期以前的數據先復制到新的數據庫中(select ... into ...),然后再將原來數據庫中的這些數據刪除,這樣操作在數量量很大的數據庫上時,其日志文件的增長也是驚人的:我復制一個48萬條記錄的表時,最后發現僅這一個表的操作就使新數據庫的日志文件增加了170MB,如果不加清理,那就會被日志文件占用大量寶貴的磁盤空間。況且,我們轉移到的新建數據庫的作用也只是用來查詢,以后不會有任何Insert、Update、Delete操作的,要這些日志文件沒有什么用處,因此必須在向它轉移數據的過程中做一些縮小日志文件的處理,怎么辦??問題由此而生...
(1)處理過程中不記錄日志
設置方法如下:企業管理器中打開對應數據庫的“屬性”,頁框“選項”中將“模型”改為“簡單”。這樣設置的結果是對此數據庫的任何操作都將不記錄事務日志。對應的SQL為:EXEC sp_dboption @pdbName, 'trunc. log on chkpt.', 'TRUE'
但是,我們經過測試發現:啟用此功能后,我們在對這個數據庫操作時,就不能用事務操作了,程序執行到BeginTranSaction時就報錯,不能執行下去,由于我們不能在對此庫的操作中保證100%的正確性,因此我們還需要事務,因此這種方法適用空間有限,也不能滿足我們程序的需求。
我們還得繼續查找.....
文章來源于領測軟件測試網 http://www.kjueaiud.com/