- ErrorLog
- ErrorLog.1
- ErrorLog.2
- ErrorLog.3
- ErrorLog.4
- ErrorLog.5
- ErrorLog.6
在 APACS OS 版本 6.1 中,ErrorLog 文件保存在 c:\Program Files\Microsoft SQL Server\MSSQL$WINCC\LOG 文件夾中。在 APACS OS 版本 7.0 中,ErrorLog 文件保存在 c:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\LOG 文件夾中。ErrorLog 文件包含最新信息;ErrorLog.6 文件包含最老的信息。
每次重啟動 SQL Server 時,這些日志文件都如下循環(huán):
- 刪除 ErrorLog.6 文件中的所有數(shù)據(jù),并創(chuàng)建一個新的 ErrorLog 文件。
- 上個 ErrorLog 文件中的所有數(shù)據(jù)被寫入到 ErrorLog.1 文件中。
- 上個 ErrorLog.1 文件中的所有數(shù)據(jù)被寫入到 ErrorLog.2 文件中。
- 上個 ErrorLog.2 文件中的所有數(shù)據(jù)被寫入到 ErrorLog.3 文件中。
- 上個 ErrorLog.3 文件中的所有數(shù)據(jù)被寫入到 ErrorLog.4 文件中。
- 上個 ErrorLog.4 文件中的所有數(shù)據(jù)被寫入到 ErrorLog.5 文件中。
- 上個 ErrorLog.5 文件中的所有數(shù)據(jù)被寫入到 ErrorLog.6 文件中。
如果其中一個 ErrorLog 文件已很大,則可通過運行 sp_cycle_errorlog 存儲過程手動循環(huán)這些 ErrorLog 文件。注意事項:舊的 ErrorLog 文件中的數(shù)據(jù)將被覆蓋!如果必須保存舊的 ErrorLog 文件中的數(shù)據(jù),則可將這些舊的 ErrorLog 文件復(fù)制到某個外部存儲介質(zhì)中。
在 APACS OS 版本 6.1 中,可利用 SQL Qry Analyzer Tool 從 SQL Server Enterprise Manager 運行 sp_cycle_errorlog 存儲過程。在 APACS OS 版本 7.0 中,可從 SQL Server Management St io 運行 sp_cycle_errorlog 存儲過程。
所以需要定期能切換寫入error log . 一般可以使用DBCC errorlog命令來操作 。
Exec('DBCC ErrorLog') 或 exec sp_cycle_errorlog
或者可以通過以下命令,將sp 放在Job中定期執(zhí)行。
在日常SQL Server的維護(hù)中,查看 SQL Server 錯誤日志可以用來確認(rèn)服務(wù)的運行情況:例如服務(wù)的啟停、備份和還原操作、登錄認(rèn)證情況等等,需要經(jīng)常性的查看。
使用 SQL Server Management Studio 或文本編輯器都可以查看 SQL Server 錯誤日志。默認(rèn)情況下,錯誤日志位于 Program Files/Microsoft SQL Server/MSSQL.n/MSSQL/LOG/ERRORLOG 和ERRORLOG.n 文件中。默認(rèn)保留有7個 SQL Server 錯誤日志文件,分別是:ErrorLog,Errorlog.1~Errorlog.6 ,當(dāng)前的錯誤日志(文件ErrorLog)沒有擴(kuò)展名。每當(dāng)啟動 SQL Server 實例時,將創(chuàng)建新的錯誤日志ErrorLog,并將之前的ErrorLog更名為ErrorLog.1,之前的ErrorLog.1更名為ErrorLog.2,依次類推,原先的ErroLog.6被刪除。
生產(chǎn)服務(wù)器上的ErrorLog文件有時候會碰到文件很大的情況,尤其將登錄認(rèn)證情況記錄到錯誤日志的情況之下,此時使用SQL Server Management Studio或者文本編輯器查看錯誤日志查看的時候速度會是個問題,對于這種情況,可以在不重新啟動服務(wù)器的情況下,通過存儲過程sp_cycle_errorlog來生成新的日志文件,并循環(huán)錯誤日志擴(kuò)展編號,就如同重新啟動服務(wù)時候一樣。除了 Execute sp_cycle_errorlog 之外,也可以使用DBCC ERRORLOG來實現(xiàn)同樣的功能。在實際操作中,也可以通過建立一個Job定時去執(zhí)行該存儲過程,這樣將日志文件大小控制在合理的范圍之內(nèi)。
SQL Server默認(rèn)保留7次錯誤日志文件,在產(chǎn)生新的錯誤日志的同時,最老的那個日志也被刪除了,如果想保留更多次的錯誤日志,可以通過如下方法來設(shè)置(SQL Server 2005):
- 打開 SQL Server Management Studio
- 在“管理”目錄下,在SQL Server日志上右鍵,點擊“配置”
- 在彈出的“配置SQL Server錯誤日志”窗口中,在“限制錯誤日志文件在回收之前的數(shù)目”復(fù)選框上打勾,并且將“最大錯誤日志文件數(shù)”設(shè)置為希望的數(shù)值。這個數(shù)值在6到99之間。
除了上述方法之外,也可以通過修改注冊表的方式來修改。新建一個注冊表項(如果有則修改之):HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/MSSQLServer/MSSQLServer/NumErrorLogs,默認(rèn)情況下,并沒有這個注冊表項,類型選擇REG_DWORD,數(shù)值設(shè)置為希望保留的日志次數(shù)。修改注冊表項的方法也可以通過以下存儲過程來實現(xiàn):
exec xp_instance_regwrite N'HKEY_LOCAL_MACHINE', N'Software/Microsoft/MSSQLServer/MSSQLServer', N'NumErrorLogs', REG_DWORD, 20
在默認(rèn)情況下,SQLServer的錯誤日志位于 Program Files/Microsoft SQL Server/MSSQL.n/MSSQL/LOG/ERRORLOG 和ERRORLOG.n 文件中。
可以通過如下方法來修改該路徑:
- 在 SQL Server 配置管理器中,單擊“SQL Server 服務(wù)”。
- 在右窗格中,右鍵單擊 SQL Server (<實例名>),再單擊“屬性”。
- 在“高級”選項卡的“啟動參數(shù)”框中,有以分號 (;) 分隔的參數(shù)。其中,有一個以 –e開頭的參數(shù),修改該參數(shù)后面的路徑,就可以將錯誤日志存放到指定的路徑下,修改完成需要重啟服務(wù)生效。