SQL Server ErrorLog 錯誤日誌

ygzhou518發表於2011-12-06
預設情況下,SQL Server 儲存 7 個 ErrorLog 檔案,名為:
 
  • ErrorLog
  • ErrorLog.1
  • ErrorLog.2
  • ErrorLog.3
  • ErrorLog.4
  • ErrorLog.5
  • ErrorLog.6

ErrorLog 檔案儲存在 "Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\LOG "資料夾中。ErrorLog 檔案包含最新資訊;ErrorLog.6 檔案包含最老的資訊。

每次重啟動 SQL Server 時,這些日誌檔案都如下迴圈:

  • 刪除 ErrorLog.6 檔案中的所有資料,並建立一個新的 ErrorLog 檔案。
  • 上個 ErrorLog 檔案中的所有資料被寫入到 ErrorLog.1 檔案中。
  • 上個 ErrorLog.1 檔案中的所有資料被寫入到 ErrorLog.2 檔案中。
  • 上個 ErrorLog.2 檔案中的所有資料被寫入到 ErrorLog.3 檔案中。
  • 上個 ErrorLog.3 檔案中的所有資料被寫入到 ErrorLog.4 檔案中。
  • 上個 ErrorLog.4 檔案中的所有資料被寫入到 ErrorLog.5 檔案中。
  • 上個 ErrorLog.5 檔案中的所有資料被寫入到 ErrorLog.6 檔案中。

如果其中一個 ErrorLog 檔案已很大,則可通過執行 sp_cycle_errorlog 儲存過程手動迴圈這些 ErrorLog 檔案。注意事項:舊的 ErrorLog 檔案中的資料將被覆蓋!如果必須儲存舊的 ErrorLog 檔案中的資料,則可將這些舊的 ErrorLog 檔案複製到某個外部儲存介質中。

一般可以使用DBCC errorlog命令來操作 。Exec('DBCC ErrorLog')  或 exec sp_cycle_errorlog

或者可以通過以下命令,將sp 放在Job中定期執行。

轉載:http://6415083.blog.163.com/blog/static/6660257520113203519353/

 

SQL 2005 Errolog過大處理方法
SQL Server 錯誤日誌
 

在日常SQL Server的維護中,檢視 SQL Server 錯誤日誌可以用來確認服務的執行情況:例如服務的啟停、備份和還原操作、登入認證情況等等,需要經常性的檢視。

使用 SQL Server Management Studio 或文字編輯器都可以檢視 SQL Server 錯誤日誌。預設情況下,錯誤日誌位於 Program Files/Microsoft SQL Server/MSSQL.n/MSSQL/LOG/ERRORLOG ERRORLOG.n 檔案中。預設保留有7 SQL Server 錯誤日誌檔案,分別是:ErrorLogErrorlog.1Errorlog.6 ,當前的錯誤日誌(檔案ErrorLog)沒有副檔名。每當啟動 SQL Server 例項時,將建立新的錯誤日誌ErrorLog,並將之前的ErrorLog更名為ErrorLog.1,之前的ErrorLog.1更名為ErrorLog.2,依次類推,原先的ErroLog.6被刪除。

生產伺服器上的ErrorLog檔案有時候會碰到檔案很大的情況,尤其將登入認證情況記錄到錯誤日誌的情況之下,此時使用SQL Server Management Studio或者文字編輯器檢視錯誤日誌檢視的時候速度會是個問題,對於這種情況,可以在不重新啟動伺服器的情況下,通過儲存過程sp_cycle_errorlog來生成新的日誌檔案,並迴圈錯誤日誌擴充套件編號,就如同重新啟動服務時候一樣。除了 Execute sp_cycle_errorlog 之外,也可以使用DBCC ERRORLOG來實現同樣的功能。在實際操作中,也可以通過建立一個Job定時去執行該儲存過程,這樣將日誌檔案大小控制在合理的範圍之內。

SQL Server預設保留7次錯誤日誌檔案,在產生新的錯誤日誌的同時,最老的那個日誌也被刪除了,如果想保留更多次的錯誤日誌,可以通過如下方法來設定(SQL Server 2005):

  • 開啟 SQL Server Management Studio
  • 在“管理”目錄下,在SQL Server日誌上右鍵,點選“配置”
  • 在彈出的“配置SQL Server錯誤日誌”視窗中,在“限制錯誤日誌檔案在回收之前的數目”核取方塊上打勾,並且將“最大錯誤日誌檔案數”設定為希望的數值。這個數值在699之間。

除了上述方法之外,也可以通過修改登錄檔的方式來修改。新建一個登錄檔項(如果有則修改之):HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/MSSQLServer/MSSQLServer/NumErrorLogs預設情況下,並沒有這個登錄檔項,型別選擇REG_DWORD,數值設定為希望保留的日誌次數。修改登錄檔項的方法也可以通過以下儲存過程來實現:

exec xp_instance_regwrite N'HKEY_LOCAL_MACHINE', N'Software/Microsoft/MSSQLServer/MSSQLServer', N'NumErrorLogs', REG_DWORD, 20

在預設情況下,SQLServer的錯誤日誌位於 Program Files/Microsoft SQL Server/MSSQL.n/MSSQL/LOG/ERRORLOG ERRORLOG.n 檔案中。

可以通過如下方法來修改該路徑:

  • SQL Server 配置管理器中,單擊“SQL Server 服務
  • 在右窗格中,右鍵單擊 SQL Server (<例項名>),再單擊屬性
  • 高階選項卡的啟動引數框中,有以分號 (;) 分隔的引數。其中,有一個以 –e開頭的引數,修改該引數後面的路徑,就可以將錯誤日誌存放到指定的路徑下,修改完成需要重啟服務生效

-------------------------另外在 "Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\LOG "資料夾中會有較大的SQLDUMP..MDMP檔案------------------------------------------------------------------------

http://www.cnblogs.com/jsycgxm/articles/2180896.html

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24867586/viewspace-712786/,如需轉載,請註明出處,否則將追究法律責任。

相關文章