यदि आप इसे पहले ही सेट कर चुके हैं तो मेरा लेख मदद करेगा, लेकिन तब नहीं जब घटना अतीत में हुई हो और आपके पास किसी भी तरह का ऑडिटिंग तंत्र नहीं था।
हालांकि अभी भी उम्मीद है। मान लीजिए कि मैंने ऐसा किया:
CREATE LOGIN flooberella WITH PASSWORD = N'x', CHECK_POLICY = OFF;
यह जानकारी EventClass 104 (ऑडिट Addlogin इवेंट) के तहत डिफ़ॉल्ट ट्रेस में है। हालाँकि, अगर मैं इनमें से किसी भी तरीके का उपयोग करके पासवर्ड बदलता हूँ:
ALTER LOGIN flooberella WITH PASSWORD = N'y';
EXEC sp_password N'y', N'z', N'flooberella';
इन घटनाओं को डिफ़ॉल्ट ट्रेस द्वारा कैप्चर नहीं किया जाता है, स्पष्ट सुरक्षा कारणों से - किसी के पासवर्ड के बारे में पता लगाने के लिए डिफ़ॉल्ट ट्रेस के साथ किसी के लिए भी यह संभव नहीं होना चाहिए और न ही वे इसे आसान बनाना चाहते हैं। पासवर्ड बदल दिया गया है (उदाहरण के लिए, इन घटनाओं की आवृत्ति को देखते हुए, आपकी सुरक्षा रणनीति के कुछ गुणों को प्रकट कर सकता है)।
तो आप और क्या कर सकते हैं? हालांकि यह जानकारी अभी भी लॉग में होने पर निर्भर करता है, और यह सिस्टम डेटाबेस के खिलाफ एक अनिर्दिष्ट डीबीसीसी कमांड का उपयोग करने पर भी निर्भर करता है (आप मास्टर का बैकअप लेना चाहते हैं और इसे कहीं और पुनर्स्थापित कर सकते हैं), आप लेन-देन लॉग से कुछ जानकारी प्राप्त कर सकते हैं , उदाहरण के लिए:
DBCC LOG(master, 1);
यह उपर्युक्त दो आदेशों के लिए, निम्न (आंशिक) जानकारी वाली पंक्तियों को प्रस्तुत करेगा:
Current LSN Description
====================== ======================================================================
000000f2:000001b8:0002 ALTER LOGIN;0x01050000000000051500000093a3bcd7a9f8fb1417ab13bce8030000
000000f2:000001b8:0004 Alter login change password;0x01050000000000 ... same sid as above ...
बहुत ज्यादा नहीं लगता है, लेकिन अब विवरण के 0x हिस्से को लें, और फिर करें:
SELECT name FROM sys.server_principals
WHERE sid = 0x01050000000000051500000093a3bcd7a9f8fb1417ab13bce8030000;
धूम्रपान बंदूक! यह उस घटना के लिए जिम्मेदार व्यक्ति है।
बेशक, अगर वे ALTER LOGIN
सभी ऑपरेशनों के लिए वाक्यविन्यास का उपयोग करते हैं (जो उन्हें इसके बजाय उपयोग करना चाहिए sp_password
), तो आप डिफ़ॉल्ट डेटाबेस को बदलने और पासवर्ड बदलने वाले किसी व्यक्ति के बीच अंतर नहीं कर सकते। आप यह भी नहीं बता सकते (कम से कम मैं देख सकता हूं) जो इस प्रभावित को लॉगिन करते हैं, केवल इस व्यक्ति ने एक लॉगिन बदल दिया है । जॉन को लगता है कि यह जानकारी लॉग में भी है, लेकिन मैं इसे खोजने में विफल रहा (समय की जानकारी के विपरीत, जिसे किसी तरह मैंने सही अतीत पर स्क्रॉल किया)।
SQL Server 2012 में निहित उपयोगकर्ताओं के लिए अलग-अलग उत्तर हो सकते हैं - हालांकि मुझे संदेह है कि पासवर्ड परिवर्तन अभी भी इसी तरह से बाधित हैं। एक अलग प्रश्न के लिए छोड़ देंगे।