SQL सर्वर 2012: Security_error_ring_buffer_recorded: ImpersonateSecurityContext


10

कुछ सर्वर जो मैं प्रबंधित करता हूं, वे system_health XE सत्र में बहुत सारी घटनाओं को रिकॉर्ड कर रहे हैं।

त्रुटि_कोड 5023 होना चाहिए ( सिस्टम त्रुटि कोड ):

ERROR_INVALID_STATE    5023 (0x139F)

The group or resource is not in the correct state to perform the requested operation.

मेरे पास इवेंट सुरक्षा लॉग में कोई विफल लॉगिन ईवेंट नहीं है, न ही SQL सर्वर लॉग में।


क्या आपने Microsoft समर्थन से संपर्क किया है या टिकट खोला है? यह एक आंतरिक त्रुटि की तरह दिखता है।
जॉन सीगेल

आपके उदाहरण और OS संस्करण की बिल्ड संख्या क्या है?

यह SP1 के साथ एक सादा SQL 2012 है: 11.00.3000.00। मैं एमएस सपोर्ट से जल्द से जल्द संपर्क करना चाहता हूं क्योंकि मुझे यकीन है कि यह मेरे सेटअप में कोई त्रुटि नहीं है। यहां प्रतिक्रिया की उम्मीद ...
जेन्स डब्ल्यू।

जवाबों:


4

मैं मानने जा रहा हूं कि आप इन घटनाओं की परिभाषा और मूल कारण की तलाश कर रहे हैं।

से यह कैसे काम करता: SQL सर्वर 2005 SP2 सुरक्षा अंगूठी बफर - RING_BUFFER_SECURITY_ERROR ( संग्रह ) :

SQL सर्वर 2005 SP2 ने sys.dm_os_ring_buffersविभिन्न सुरक्षा त्रुटियों के लिए नई रिंग बफर प्रविष्टियाँ ( ) जोड़ीं। रिंग बफर प्रविष्टियों को जोड़ने का कारण डीबीए को अधिक विवरण के साथ प्रदान करना था कि क्यों एक ग्राहक एक असफल लॉगिन या ऐसी अन्य त्रुटि प्राप्त कर रहा है।

आप बताते हैं कि आपने इवेंट लॉग में न तो कोई लॉग इन प्रविष्टियाँ विफल की हैं और न ही त्रुटि लॉग में। इसके बजाय आप इस रिंग बफर को सीधे क्वेरी कर सकते हैं:

SELECT CONVERT (varchar(30), GETDATE(), 121) as runtime,
dateadd (ms, (a.[Record Time] - sys.ms_ticks), GETDATE()) as [Notification_Time],
a.* , sys.ms_ticks AS [Current Time]
FROM
(SELECT
x.value('(//Record/Error/ErrorCode)[1]', 'varchar(30)') AS [ErrorCode],
x.value('(//Record/Error/CallingAPIName)[1]', 'varchar(255)') AS [CallingAPIName],
x.value('(//Record/Error/APIName)[1]', 'varchar(255)') AS [APIName],
x.value('(//Record/Error/SPID)[1]', 'int') AS [SPID],
x.value('(//Record/@id)[1]', 'bigint') AS [Record Id],
x.value('(//Record/@type)[1]', 'varchar(30)') AS [Type],
x.value('(//Record/@time)[1]', 'bigint') AS [Record Time]
FROM (SELECT CAST (record as xml) FROM sys.dm_os_ring_buffers
WHERE ring_buffer_type = 'RING_BUFFER_SECURITY_ERROR') AS R(x)) a
CROSS JOIN sys.dm_os_sys_info sys
ORDER BY a.[Record Time] ASC

सूचना समय मूल कारण पर कुछ प्रकाश डाला जा सकता है।

मुझे लगता है कि आप पाएंगे कि प्रविष्टियों की तिथि / समय त्रुटि के समान लॉगिन लॉगिन प्रविष्टियों के साथ होगी:

"लॉगिन उपयोगकर्ता 'डोमेन \ उपयोगकर्ता' के लिए विफल रहा। कारण: टोकन-आधारित सर्वर एक्सेस सत्यापन एक बुनियादी ढांचे की त्रुटि के साथ विफल रहा। पिछली त्रुटियों के लिए जाँच। [CLIENT:] त्रुटि: 18456 गंभीरता: 14 राज्य: 11."

से समस्या निवारण विशिष्ट प्रवेश विफल त्रुटि संदेश ( संग्रह ) :

राज्य 11 "मान्य लॉगिन लेकिन सर्वर एक्सेस विफलता" से मेल खाता है जो इंगित करता है कि लॉगिन वैध है लेकिन कुछ सुरक्षा विशेषाधिकारों को याद नहीं कर रहा है जो इसे उदाहरण तक पहुंच प्रदान करेगा।

  1. जाँचें कि लॉगिन sys.server_principals के आउटपुट में देखकर SQL सर्वर लॉगिन में से एक में सीधे मैप किया गया है।
  2. यदि SQL SQL में उपलब्ध लॉगिन में से किसी एक में लॉगिन को सीधे मैप किया जाता है, तो जाँचें कि लॉगिन का SID Windows लॉगिन के SID से मेल खाता है या नहीं।

यदि किसी ने लॉगिन को विंडोज / एडी स्तर पर गिरा दिया, और इसे वापस जोड़ दिया, तो उसे एक नया SID मिलेगा जो SID SQL से उसके सिस्टम कैटलॉग में मेल नहीं खाएगा और यह विफल हो जाएगा।


1
समस्या यह है: नया सर्वर, सभी नए खाते हैं और मैं उनके साथ लॉगिन कर सकता हूं। लेकिन अभी तक दर्जनों ऐसी घटनाएं - बिना स्पष्ट / किसी प्रभाव के। मैं जल्द से जल्द रिंग बफर को पढ़ने की कोशिश करूंगा।
जेन्स डब्ल्यू।

3
मैंने गैर- AD सर्वरों पर यही व्यवहार देखा है और वे किसी भी लॉगिन विफलताओं या अन्य त्रुटियों से जुड़े नहीं हैं। यह बस सुरक्षा त्रुटि रिंग बफर और सिस्टम system_health में लॉगिंग कर रहा है और ऐसा होने का कोई अन्य कारण नहीं है।
जोनाथन केहियास
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.