Security
系統健康日誌中的 security_error_ring_buffer_recorded - 這是什麼意思?
我們公司正在為幾個網站執行幾台伺服器。伺服器執行的是 Windows Server 2012,對於數據庫,我們有 MS SQL Server 2012。
今天我正在檢查位於以下位置的日誌文件:
"C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Log"
我在名為“system_health”的事件日誌中發現了這個奇怪的東西:
security_error_ring_buffer_recorded
點擊它給了我更多資訊:
api_name ImpersonateSecurityContext call_stack 0x6E2715B4FB0700007C36FBB3FB070000A553FBB3FB070000... <- this one continues forever calling_api_name NLShimImpersonate error_code 5023 id 0 session_id 51 time_stamp 190360
如果不是因為“錯誤”和“記錄”部分,我不會那麼困擾……這聽起來不太好。
該事件每天每小時發生一次,有時間隔幾分鐘,有時在幾秒鐘內發生一百次。
這是我第一次檢查這些日誌文件。
有人可以向我解釋這是什麼以及如何“修復”它,如果這甚至是必要的?
編輯:
除了這個事件,還有一個叫做:
"scheduler_monitor_system_health_ring_buffer_recorded"
點擊它會顯示“page_faults”為 8913。現在這聽起來也不太好。
什麼是環形緩衝區?
環形緩衝區是固定大小的記憶體,用於執行緒間或程序間通信。本質上,資訊被寫入環形緩衝區,當系統到達末尾時,它又從頭開始寫入。還有一個共享指針指向緩衝區的目前頭。
與此同時,閱讀執行緒從頭開始閱讀,並試圖跟上作者的步伐。如果寫入器程序超過讀取器,則事件/數據將失去,但至少您可以繼續。
通常緩衝區的大小是這樣的,除非發生壞事,否則不會發生這種情況。
環形緩衝區用於失去事件並非致命的情況,而其他形式的隊列管理存在更大的問題。
那麼這個事件意味著什麼?
這意味著有一個正在寫入安全錯誤的環形緩衝區。另一個執行緒正在讀取環形緩衝區,並將資訊記錄到日誌文件中。這是應該發生的事情。
這不是錯誤。它是詳細的日誌記錄,告訴您如何處理安全錯誤(例如登錄失敗),以確保它們不會失去。