雷火电竞-中国电竞赛事及体育赛事平台

歡迎來到入門教程網(wǎng)!

MsSql

當(dāng)前位置:主頁 > 數(shù)據(jù)庫 > MsSql >

sql server日志處理不當(dāng)造成的隱患詳解

來源:本站原創(chuàng)|時(shí)間:2020-01-10|欄目:MsSql|點(diǎn)擊:

事故背景:一大早還在路上,群里陸續(xù)有人反饋系統(tǒng)一直報(bào)錯(cuò) “ Unknown error 258 ”,后來查詢?nèi)罩景l(fā)現(xiàn)錯(cuò)誤日志

第一反應(yīng)是不是數(shù)據(jù)庫連接不夠用了?導(dǎo)致超時(shí)?但是通過sql查詢當(dāng)時(shí)連接也只有40個(gè)左右,于是繼續(xù)排查問題,發(fā)現(xiàn)dbserver機(jī)器這段時(shí)間磁盤io操作特別的高,很不正常,詳見下圖


發(fā)現(xiàn)磁盤io問題,繼續(xù)查看sqlserver日志,發(fā)現(xiàn)原因: “Autogrow of file ‘xxxx_log' in database ‘xxxx' was cancelled by user or timed out after 3398 milliseconds.  Use ALTER DATABASE to set a smaller FILEGROWTH value for this file or to explicitly set a new file size.”


發(fā)現(xiàn)這種問題因?yàn)閘og日志文件太大了一直沒有壓縮過,并且創(chuàng)建數(shù)據(jù)庫的時(shí)候默認(rèn)選擇了10%的增量來擴(kuò)大log增量文件,這樣日志文件的10%會越來越大從而產(chǎn)生超時(shí)高io操作

解決方案:

1、定期清理log文件,防止log文件越來越大

 USE [master]
 GO
 ALTER DATABASE 數(shù)據(jù)庫名 SET RECOVERY SIMPLE WITH NO_WAIT
 GO
 ALTER DATABASE 數(shù)據(jù)庫名 SET RECOVERY SIMPLE
 GO
 USE 數(shù)據(jù)庫名
 GO
 DBCC SHRINKFILE (N'數(shù)據(jù)庫名_Log' , 11, TRUNCATEONLY) 
 GO
 USE [master]
 GO
 ALTER DATABASE 數(shù)據(jù)庫名 SET RECOVERY FULL WITH NO_WAIT
 GO
 ALTER DATABASE 數(shù)據(jù)庫名 SET RECOVERY FULL
 GO 

2、修改默認(rèn)數(shù)據(jù)庫log增量10% 為 500M(看具體情況,一般夠了)

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對我們的支持。

上一篇:沒有了

欄    目:MsSql

下一篇:SQL Server 通過with as方法查詢樹型結(jié)構(gòu)

本文標(biāo)題:sql server日志處理不當(dāng)造成的隱患詳解

本文地址:http://www.jygsgssxh.com/a1/MsSql/10276.html

網(wǎng)頁制作CMS教程網(wǎng)絡(luò)編程軟件編程腳本語言數(shù)據(jù)庫服務(wù)器

如果侵犯了您的權(quán)利,請與我們聯(lián)系,我們將在24小時(shí)內(nèi)進(jìn)行處理、任何非本站因素導(dǎo)致的法律后果,本站均不負(fù)任何責(zé)任。

聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

Copyright © 2002-2020 腳本教程網(wǎng) 版權(quán)所有