sqlserver日志文件过大的处理方法
SqlServer 數(shù)據(jù)庫中與備份和恢復(fù)相關(guān)的日志文件有MDF和LDF文件 存在于\\sqlserver_install_dir\MSSQL\Data\
1.文件解釋
.mdf文件
??? MDF是SQL Server數(shù)據(jù)庫文件.?
.ldf文件
??? LDF是SQL的日志文件,是不能直接打開的。LDF記錄每一個(gè)操作:SELECT.INSERT.DELETE.UPDATE..日志
2.通過MDF和LDF文件恢復(fù)數(shù)據(jù)庫的方法:
1).sql語句
下面的示例將?? pubs?? 中的兩個(gè)文件附加到當(dāng)前服務(wù)器。? ??
2?????????@filename1???=???N'c:\Program???Files\Microsoft???SQL???Server\MSSQL\Data\pubs.mdf',??
3?????????@filename2???=???N'c:\Program???Files\Microsoft???SQL???Server\MSSQL\Data\pubs_log.ldf'?
2).圖形界面
??? 資源管理器->數(shù)據(jù)庫->所有任務(wù)->附加數(shù)據(jù)庫->選文件->確認(rèn)
如果數(shù)據(jù)庫長期運(yùn)行并進(jìn)行大量的操作,會(huì)發(fā)現(xiàn)LDF文件異常的大,這時(shí)候
3.該如何截?cái)郙S-SQL Transaction Log?
這些Log增長的速度決對(duì)不是你所想的這麼小,往往實(shí)體資料並沒任何增長(.MDF)但交易記錄檔(_LOG.LDF)則是以數(shù)倍的成長
下列語法是針對(duì)MS-SQL 2000及MS-SQL 2005的截?cái)郤cript:
--1.截?cái)嘟灰子涗?br />BACKUP LOG [資料庫名稱]
??? WITH TRUNCATE_ONLY??
--2.顯示資料庫檔案,找出交易記錄檔的邏輯檔名
EXEC sp_helpdb '資料庫名稱'
--3.壓縮交易記錄檔
USE 資料庫名稱
DBCC SHRINKFILE([資料庫名稱_log],2)?
//2執(zhí)行之后是指2M
?以上語法最主要的功能是在於ShrinkFile這部份,它是直接實(shí)體的將log檔截?cái)?#xff0c;並且還回實(shí)體的磁碟空間
當(dāng)然,若有習(xí)慣做Transcation log的備份,這個(gè)動(dòng)作也可以在備份作業(yè)中最後一個(gè)步驟來執(zhí)行
4.如何收縮數(shù)據(jù)庫文件?
收縮數(shù)據(jù)庫文件(如果不壓縮,數(shù)據(jù)庫的文件不會(huì)減小)
? 企業(yè)管理器--右鍵你要壓縮的數(shù)據(jù)庫--所有任務(wù)--收縮數(shù)據(jù)庫--收縮文件
??? --選擇日志文件--在收縮方式里選擇收縮至XXM,這里會(huì)給出一個(gè)允許收縮到的最小M數(shù),直接輸入這個(gè)數(shù),確定就可以了
??? --選擇數(shù)據(jù)文件--在收縮方式里選擇收縮至XXM,這里會(huì)給出一個(gè)允許收縮到的最小M數(shù),直接輸入這個(gè)數(shù),確定就可以了
5.如何設(shè)置以后能自動(dòng)收縮?
企業(yè)管理器--服務(wù)器--右鍵數(shù)據(jù)庫--屬性--選項(xiàng)--選擇"自動(dòng)收縮"
6.如何想以后不讓它日志增長得太大?
企業(yè)管理器--服務(wù)器--右鍵數(shù)據(jù)庫--屬性--事務(wù)日志--將文件增長限制為xM(x是你允許的最大數(shù)據(jù)文件大小)
轉(zhuǎn)載于:https://www.cnblogs.com/yzl050819/p/4699084.html
總結(jié)
以上是生活随笔為你收集整理的sqlserver日志文件过大的处理方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: docker学习笔记(四): 镜像和仓库
- 下一篇: js/jquery学习笔记