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 錯誤日誌檔案,分別是:ErrorLog,Errorlog.1~Errorlog.6 ,當前的錯誤日誌(檔案ErrorLog)沒有副檔名。每當啟動 SQL Server 例項時,將建立新的錯誤日誌ErrorLog,並將之前的ErrorLog更名為ErrorLog.1,之前的ErrorLog.1更名為ErrorLog.2,依次類推,原先的ErroLog.6被刪除。
可以用sp_readerrorlog 來讀取日誌。
生產伺服器上的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錯誤日誌”視窗中,在“限制錯誤日誌檔案在回收之前的數目”核取方塊上打勾,並且將“最大錯誤日誌檔案數”設定為希望的數值。這個數值在6到99之間。
除了上述方法之外,也可以透過修改登錄檔的方式來修改。新建一個登錄檔項(如果有則修改之):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開頭的引數,修改該引數後面的路徑,就可以將錯誤日誌存放到指定的路徑下,修改完成需要重啟服務生效。
執行 sp_cycle_errorlog 儲存過程手動迴圈 ErrorLog
注意事項:舊的 ErrorLog 檔案中的資料將被覆蓋!如果必須儲存舊的 ErrorLog 檔案中的資料,則可將這些舊的 ErrorLog 檔案複製到某個外部儲存介質中。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/66009/viewspace-1047303/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SQL Server 收縮日誌SQLServer
- 排查錯誤日誌
- 日誌查詢錯誤
- net 日誌分析錯誤
- Mabatis配置錯誤日誌BAT
- MySQL 狂寫錯誤日誌MySql
- SQL Server DACPAC資料庫部署錯誤SQLServer資料庫
- Sql Server2014資料庫清理日誌SQLServer資料庫
- SQL Server中In-Flight日誌究竟有多大SQLServer
- node錯誤處理與日誌
- SAP 錯誤日誌的調查
- SQL Server誤區 一個例項多個映象和日誌傳送延遲SQLServer
- 開啟PHP的錯誤log日誌PHP
- python logger 列印日誌錯誤行數Python
- 常見的錯誤日誌型別型別
- Mysql5.7 的錯誤日誌中最常見的note日誌MySql
- 【Spring】日誌列印sql,日誌配置列印sqlSpringSQL
- ITMySQL錯誤日誌與通用查詢日誌圖文詳析jugMySql
- 2、MySQL錯誤日誌(Error Log)詳解MySqlError
- node專案錯誤處理與日誌
- 關閉Druid中某些錯誤日誌列印UI
- mysql慢查詢和錯誤日誌分析MySql
- win10系統怎麼檢視系統錯誤日誌_win10如何檢視錯誤日誌Win10
- laravel5.7 不記錄 sql 報錯日誌,自定義日誌資訊LaravelSQL
- SQL server資料庫高可用日誌傳送的方法SQLServer資料庫
- 如何用NodeJS讀取分析Nginx錯誤日誌NodeJSNginx
- sql server資料庫附加錯誤的解決過程SQLServer資料庫
- MySQL 8.0.18 錯誤日誌時間慢了8個小時MySql
- Vben Admin 原始碼學習:狀態管理-錯誤日誌原始碼
- 39,日誌列印sql 配置SQL
- Laravel sql 日誌記錄LaravelSQL
- HTTP 錯誤 500.19- Internal Server Error 錯誤解決方法HTTPServerError
- Kubelet 錯誤日誌 broken pipe 和 connection reset by peer 的原因分析
- webpack 4.0 學習日誌(一)——配置方法以及錯誤解決Web
- go fiber: 把異常資訊寫到錯誤日誌中Go
- ABAP 檢視webservice錯誤日誌事務碼:SRT_UTILWeb
- 新特性解讀 | MySQL 8.0錯誤日誌深入過濾(上)MySql
- 錯誤內容:You have an error in your SQL syntax; check the manual that corresponds to your MySQL serverErrorMySqlServer
- SQL Server資料庫出現邏輯錯誤的資料恢復SQLServer資料庫資料恢復