SQL server清除錯誤日誌的方法

 發現SQL SERVER 2012的數據庫無法訪問,一直報錯。排查原因,發現數據庫硬盤沒有一點空間了,SQL SERVER有一個錯誤日誌的容量將近128G。在數據庫運行過程中,不能直接通過文件剪貼的方式把這個SQL SERVER 錯誤日誌文件直接移動到另外一個硬盤上,因爲錯誤日誌被系統進程佔用着,並不能通過這個暴力方式進行。必須通過SQL SERVER維護命令進行操作,清除了128G的錯誤日誌文件,具體過程如下:

    由於默認情況下,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的維護要相對簡單一些。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章