金蝶、管家婆、用友SQL2008 R2數據庫.ldf日志文件過大如何進行收縮瘦身?
[重要通告]如您遇疑難雜癥,本站支持知識付費業務,掃右邊二維碼加博主微信,可節省您寶貴時間哦!
大家在使用財務軟件的時候,會經常發現數據庫的.ldf日志文件過大,畢竟各種訪問操作都在.ldf日志文件里,在不經意間可能就有個上百G甚至幾百G的文件,搞的盤都快崩了,其實數據很少,無非上百M或者幾百M的文件,那如何給.ldf日志文件瘦身減肥呢?來說一下;
SQL Server 隨著運行時間變長,數據量變大,【.ldf】日志文件會變得越來越大,當日志文件過大時,有可能引起數據庫運行變慢,數據讀寫不正常等問題。可以通過以下方法對日志文件進行瘦身,具體步驟如下:
SQL2008 R2數據庫.ldf日志文件過大收縮瘦身的方式方法(收縮SQL數據庫日志)
寫在最前面,任何數據操作都需要備份,免得沒有后悔藥,不會操作的情況下還是找官方或者專業人事(比如老梁,狗頭保命),切勿拿自己的心血嘗試玩耍;
1、【開始】菜單 - 選擇【Microsoft SQL Server 2008 R2】 - 【SQL Server Management Studio】;
2、選擇或輸入【服務器名稱或者一個點(不是句號)】- 選擇身份驗證方式 - Windows身份驗證,連接SQL服務器;
3、 在SQL SERVER Management Studio 中---右擊需要收縮數據庫文件選擇“屬性”---》“選項”,將恢復模式由默認的“完整”改為“簡單”。
4、再次右鍵選擇數據庫的“任務”--》“收縮”---》“文件”菜單,進入收縮文件頁面,
5、將(要收縮的)文件類型選定為“日志”, 將頁面下面的“收縮操作”單選框里選擇“在釋放未使用的空間前重新組織頁,將文件收縮到:”,然后填寫合適的收縮后的日志文件大小。比如輸入10M或者100M都可以;
最后點擊這個頁面下面的“確定”按鈕,以執行收縮文件(日志)操作。執行完畢后,用戶可以查到該日志文件收縮到指定的大小。
6、特別重要--再回到剛才變為簡單哪里,數據庫恢復模式修改為完整,切記;(一定要操作)
關于數據庫.ldf日志文件的延伸閱讀:
1、SQL語句來縮小(收縮)數據庫.ldf日志文件
下面的數據庫為要收縮的數據庫名稱 –SQL Server 2008R2 收縮日志? -------改變數據庫模式(簡單)
alter database 數據庫 set recovery simple
DBCC SHRINKFILE (N’數據庫_log’ , 10) --將日志文件改為10M
----------恢復數據庫模式(完整)
alter database 數據庫 set recovery full
上面代碼依次執行,可以收縮日志文件;
2、SQL 2008R2 日志文件過大,且收縮無效,
將數據庫恢復模式設置為“簡單”,再收縮文件-日志,發現無效。
判斷原因:數據庫搭建了復制,沒有清除干凈,無法截斷事物日志。
執行
SELECT name,log_reuse_wait_desc FROM sys.databases where name='dbname'
或者執行
SELECT log_reuse_wait , log_reuse_wait_desc FROM sys.databases WHERE name='dbname'
正常時log_reuse_wait_desc列應該是NOTHING,如果是REPLICATION,則表示搭建了事務復制,
exec sp_removedbreplication 'dbname' //清除復制狀態
再執行----收縮->文件->日志。
log_reuse_wait 值log_reuse_wait_desc 值說明
根據返回的 log_reuse_wait 值和 log_reuse_wait_desc 描述,可以發現日志不能截斷的原因。
問題未解決?付費解決問題加Q或微信 2589053300 (即Q號又微信號)右上方掃一掃可加博主微信
所寫所說,是心之所感,思之所悟,行之所得;文當無敷衍,落筆求簡潔。 以所舍,求所獲;有所依,方所成!