軟件開(kāi)發(fā)過(guò)程中,經(jīng)常會(huì)使用到各種數(shù)據(jù)庫(kù),使用的時(shí)間越長(zhǎng),數(shù)據(jù)庫(kù)的日志文件越多,直至填滿(mǎn)整個(gè)硬盤(pán)。
MSSQL 日志文件過(guò)大時(shí),可先分離數(shù)據(jù)庫(kù),然后刪除日志文件,新建日志文件,最后附加數(shù)據(jù)庫(kù)即可。
具體清理的步驟如下:
1)分離數(shù)據(jù)庫(kù)
打開(kāi) Microsoft SQL Server Management Studio ,選取待分離的數(shù)據(jù)庫(kù)。
鼠標(biāo)右鍵,點(diǎn)擊 “任務(wù)” -> “分離”。
點(diǎn)擊 “確定” 即可。
2)徹底刪除日志文件
進(jìn)入數(shù)據(jù)庫(kù)文件存放目錄,如:D:\Microsoft SQL Server\MSSQL13.MSSQLSERVER2016\MSSQL\DATA
備份日志后,直接刪除日志文件,如 “db_hotel_record_log.ldf”
3)重新建立日志文件
-- MSSQL 2016 創(chuàng)建日志文件后會(huì)自動(dòng)附加數(shù)據(jù)庫(kù),這樣就無(wú)需下一步的操作
use master;
exec sp_detach_db @dbname='原數(shù)據(jù)庫(kù)名';
--下面是原數(shù)據(jù)庫(kù)的*.mdf文件
exec sp_attach_single_file_db @dbname='原數(shù)據(jù)庫(kù)名',@physname='D:\Microsoft SQL Server\MSSQL13.MSSQLSERVER2016\MSSQL\DATA\db_hotel_record.mdf'
--執(zhí)行兩遍,第一遍報(bào)個(gè)錯(cuò)誤但數(shù)的日志文件已生成,再執(zhí)行一次就能成功了。