使用sqlserver和IIS開發(fā).net B/S程序時,數(shù)據(jù)量逐漸增多,用戶也逐漸增多,那么服務器的穩(wěn)定性就需要維護了。數(shù)據(jù)庫如何占用更小內(nèi)存,無用的日志如何瞬間清空?
今天在給一個客戶維護網(wǎng)站的時候,發(fā)現(xiàn)運行了2年的程序,數(shù)據(jù)庫中主表的數(shù)據(jù)已超過70萬條,按理說這樣的數(shù)據(jù)量根本不算多。數(shù)據(jù)庫是Sqlserver2012版本,服務器是Windows Server 2008。
在遠程連接過程中,IIS和sqlserver總是打開一會兒自動閃退,打開任務管理器,發(fā)現(xiàn)IIS進程占用幾百MB內(nèi)存,數(shù)據(jù)庫進程占用了將近600M內(nèi)存。為了讓服務器穩(wěn)定運行IIS和sqlserver 我強制重啟了服務器。
重啟后,發(fā)現(xiàn)數(shù)據(jù)庫和IIS都能正常打開使用了。數(shù)據(jù)庫的日志文件已經(jīng)有2個多GB,數(shù)據(jù)文件不到200MB。于是開始清空數(shù)據(jù)庫日志:
需要用以下命令:
1 ALTER DATABASE [數(shù)據(jù)庫名稱] SET RECOVERY SIMPLE -- 更改為簡單模式 2 3 DBCC SHRINKDATABASE([數(shù)據(jù)庫名稱]) --壓縮數(shù)據(jù)庫命令