數據庫“TSupervise” 的事務日誌已滿問題的解決之法

      寫了個windows服務程序,並且設置爲開機自動啓動,功能爲:將Acess數據庫中的數據導入到SQL Server中,並且每隔10s導入一次。

結果開機啓動後,數據導入一直在後臺進行,不知過了多久,突然發現本奇卡,後來找原因才發現數據庫中數據過多,打開數據庫表一看,

發現有>1800w條數據記錄,光日誌文件都有10.5G左右,數據庫文件1G左右。然後執行delete表操作,想清空表中記錄,結果出現:

數據庫 “TSupervise”的事務日誌已滿。若要查明無法重用日誌中的空間的原因,請參閱 sys.databases 中的 log_reuse_wait_desc 列。

最後網上搜尋,終於找到解決方法,說是清空日誌即可。方法如下所示:

1.打開查詢分析器,輸入:

dump transaction databasename(注:databasename爲你要進行日誌刪除操作的數據庫名) with no_log並執行。

2.查詢分析器裏輸入:

alter database databasename set recovery simple

3.右鍵你要壓縮的數據庫--所有任務--收縮--文件,右側會出現相應的信息,在“文件類型”中選擇“日誌”,在收縮操作中選擇“在釋放未使用的空間前重新組織頁”,將文件收縮到xxMB,填入右側括號的最小值即可。

以上步驟完成後,便可進行其他操作了,我後來將表中數據全部清空,結果花了我大概7min鍾:


參考:http://bbs.csdn.net/topics/300122867

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章