Security

系統健康日誌中的 security_error_ring_buffer_recorded - 這是什麼意思?

  • April 8, 2013

我們公司正在為幾個網站執行幾台伺服器。伺服器執行的是 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。現在這聽起來也不太好。

什麼是環形緩衝區?

環形緩衝區是固定大小的記憶體,用於執行緒間或程序間通信。本質上,資訊被寫入環形緩衝區,當系統到達末尾時,它又從頭開始寫入。還有一個共享指針指向緩衝區的目前頭。

與此同時,閱讀執行緒從頭開始閱讀,並試圖跟上作者的步伐。如果寫入器程序超過讀取器,則事件/數據將失去,但至少您可以繼續。

通常緩衝區的大小是這樣的,除非發生壞事,否則不會發生這種情況。

環形緩衝區用於失去事件並非致命的情況,而其他形式的隊列管理存在更大的問題。

那麼這個事件意味著什麼?

這意味著有一個正在寫入安全錯誤的環形緩衝區。另一個執行緒正在讀取環形緩衝區,並將資訊記錄到日誌文件中。這是應該發生的事情。

這不是錯誤。它是詳細的日誌記錄,告訴您如何處理安全錯誤(例如登錄失敗),以確保它們不會失去。

引用自:https://serverfault.com/questions/496407