有時候sql server 2008 數(shù)據(jù)庫日志文件太大,需要收縮釋放硬盤內(nèi)存。如果ldb文件過大會導(dǎo)致數(shù)據(jù)庫運行緩慢,甚至系統(tǒng)都會卡住。
1.登陸項目平臺數(shù)據(jù)庫服務(wù)器。雙擊SQL Server Management Studio打開數(shù)據(jù)庫管理。登陸數(shù)據(jù)庫
2.如下圖,打開數(shù)據(jù)庫屬性窗口
3.如下圖,更改數(shù)據(jù)庫恢復(fù)模式
4.如下圖,收縮數(shù)據(jù)庫日志
到這里已經(jīng)完成了,數(shù)據(jù)庫的日志收縮
5.如下圖,數(shù)據(jù)庫恢復(fù)模式修改為完整
經(jīng)過腳本之家小編測試,完美解決,我們成功的把一個84G的文件,壓縮到1M。
下面繼續(xù)為大家分享一個通過sql語句實現(xiàn)的,每次手工操作麻煩有沒有。
sql語句實現(xiàn)步驟如下
首先查找要收縮日志文件的數(shù)據(jù)庫文件名
USE A
GO
SELECT file_id, name FROM sys.database_files;
GO
查詢結(jié)果得到日志文件的文件名叫J4_log
不過腳本之家小編測試查詢比較慢,可以通過下面的方法
數(shù)據(jù)庫屬性>文件>右側(cè)日志前面這個名字就是日志文件名了
測試完美沒有異常。
USE[master]
GO
ALTER DATABASE A SET RECOVERY SIMPLE WITH NO_WAIT
GO
ALTER DATABASE A SET RECOVERY SIMPLE --簡單模式
GO
USE A
GO
DBCC SHRINKFILE (N'J4_Log', 11, TRUNCATEONLY)
GO
USE[master]
GO
ALTER DATABASE A SET RECOVERY FULL WITH NO_WAIT
GO
ALTER DATABASE A SET RECOVERY FULL --還原為完全模式
GO
如果感覺比較麻煩,可以設(shè)置一個自動任務(wù)執(zhí)行,將上面的文件保存為yasuo.sql
然后通過計劃任務(wù)結(jié)合cmd,執(zhí)行如下命令即可,目錄自定設(shè)置好
sqlcmd -i yasuo.sql
SQL Server 2008R2執(zhí)行大文件SQL腳本命令
cd C:\Program Files\Microsoft SQL Server\110\Tools\Binn
sqlcmd -S . -U sa -P 123 -d test -i data.sql
參數(shù)說明:-S 服務(wù)器地址 -U 用戶名 -P 密碼 -d 數(shù)據(jù)庫名稱 -i 腳本文件路徑
本地服務(wù)器地址可以寫 . 比較輕松,也可寫.或者(local)或者IP地址
這樣就可以了,以后新建一個查詢,直接運行就可以了。
12下一頁閱讀全文