清除SQL SERVER錯誤記錄檔出現作業系統錯誤的解決方案_MsSql

來源:互聯網
上載者:User

之前在UAT環境搭建的SQL SERVER 2008 R2資料庫一直用得比較正常,但最近發現在Sharepoint中不能進行任何操作了,開始以為是什麼配置出了問題(因為一直在研究一些新的應用和整合,需要不斷地測試),但後來發現是資料庫硬碟沒用一點空間了,那麼自然是不能存任何資料了,所以最先開始清理一些無用的資料庫日誌,磁碟空間多了幾個G的容量,但是等到第二天情況依然如此,資料庫硬碟還是滿了,問題依舊存在,後台仔細檢查了一下所有資料庫的容量(因為最初以為是資料庫空間每天增長太快了把硬碟佔滿了),發現才十幾個G的,而硬碟總空間有126G,因此進一步檢查了這個磁碟空間,發現才三十多個G,一開始感覺很納悶,為什麼會缺少將近90G呢?後來發現是原來windows帳號的關係,之前用的登入帳號許可權有限,無法擷取磁碟的所有空間容量,因此換了管理員的帳號登入後,發現原來是SQL SERVER有一個錯誤記錄檔的容量將近90G,總算找到磁碟滿的原因了,下一步就是如何去解決它。

一開始聽了同事的建議,直接通過檔案剪貼的方式把這個SQL SERVER 錯誤記錄檔檔案直接移動到另外一個硬碟上,折騰了好幾個小時最終以失敗告終,說明錯誤記錄檔被系統進程佔用著,並不能通過這個暴力方式進行,因此走回正軌,通過SQL SERVER維護命令進行操作,最終成功清除了90G的錯誤記錄檔檔案,具體過程如下:
由於預設情況下,SQL Server 儲存 7 個 ErrorLog 檔案,名為:

ErrorLog
ErrorLog.1
ErrorLog.2
ErrorLog.3
ErrorLog.4
ErrorLog.5
ErrorLog.6

--清除 SQL Server 錯誤記錄檔檔案 存檔
EXEC sp_cycle_errorlog
GO

執行一次EXEC sp_cycle_errorlog就會產生一個新的errorlog,然後把errorlog.6給刪掉。就是先進先出(隊列類似的情況)這樣迴圈6次就可以把errorlog都重新整理一遍。

 當查詢時段中,出現以下錯誤資訊時:

訊息 17049,層級 16,狀態 1,過程 sp_cycle_errorlog,第 9 行
 由於出現作業系統錯誤 '5(拒絕訪問。)',無法將錯誤記錄檔檔案從 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Log\ERRORLOG.5' 迴圈到 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Log\ERRORLOG.6'。SQL Server 外部的進程可能會阻止 SQL Server 讀取這些檔案。因此,錯誤記錄檔條目可能已丟失,並且或許不可能查看某些 SQL Server 錯誤記錄檔。請確保任何其他進程都未將該檔案鎖定為唯寫訪問。"
DBCC 執行完畢。如果 DBCC 輸出了錯誤資訊,請與系統管理員聯絡。

手工刪除那個90G的錯誤記錄檔檔案即可。      
通過本次的經曆,適當掌握一些SQL SERVER維護命令在實際工作上也非常有必要的,而且相對於ORACEL資料庫,SQL SERVER的維護要相對簡單一些。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.