SQL Server 2000 錯誤日誌中出現「Unable to read local eventlog」與「Successfully re-opened the local eventlog」訊息,微軟官方建議啟用追蹤旗標 2505,但實測易導致服務無法啟動。本文記錄官方方案、實測風險與登錄表修復步驟。
錯誤 1: Unable to read local eventlog (reason: 事件日誌檔案已在讀取間更改。)
錯誤 2: Successfully re-opened the local eventlog - NOTE: Some events may have been missed.
啟用追蹤旗標 2505 作為啟動參數:
-T2505經測試,上述修改極易導致 SQL Server 無法啟動! 請務必在維護時段測試,並準備回滾方案。
若服務無法啟動,透過登錄表移除 -T2505 參數:
regedit,定位至:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\ParametersT2505 的值 (如 SQLArg3),刪除該值。Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\Parameters]
"SQLArg0"="-dD:\\Database\\SQLServer\\MSSQL\\data\\master.mdf"
"SQLArg1"="-eD:\\Database\\SQLServer\\MSSQL\\log\\ERRORLOG"
"SQLArg2"="-lD:\\Database\\SQLServer\\MSSQL\\data\\mastlog.ldf"
謹記:修改啟動參數屬高風險操作,非必要勿嘗試;若已導致服務掛點,登錄表修復為最快恢復路徑。