ट्रांजेक्शन लॉग में डिलीट स्टेटमेंट देखें


12

क्या deleteहाल ही में लेन-देन लॉग में हुए बयानों को देखना संभव है ?


लेन-देन लॉग में बयानों को स्वयं लॉग इन नहीं किया जाता है। आपका पुनर्प्राप्ति मॉडल किस डेटाबेस में है? यह उत्तर उपयोगी हो सकता है
मार्टिन स्मिथ

जवाबों:


11

आपको एसक्यूएल पर निष्पादित की गई सटीक स्क्रिप्ट नहीं मिलेंगी। (लेन-देन लॉग में)

लेन-देन लॉग एक फाइल है जिसमें डेटाबेस में किए गए हर बदलाव की जानकारी होती है। इसमें डेटा संशोधनों (लेनदेन), डेटाबेस संशोधनों और बैकअप / पुनर्स्थापना घटनाओं को शामिल किया गया है।

लेन-देन लॉग प्राथमिक उद्देश्य एक तरीका प्रदान करना है जो आवश्यक होने पर किसी बिंदु पर डेटाबेस को पुनर्स्थापित करने में सक्षम हो। इसमें एक निश्चित समय के लिए वापस लेन-देन करना या पूर्ण बैकअप बहाली से आगे के लेन-देन को शामिल करना शामिल हो सकता है।

लेन-देन लॉग के बारे में अधिक जानने के लिए http://www.sqlservercentral.com/articles/Design+and+Theory/63350/

यहाँ हाल ही में हटाए गए क्वेरीज़ दिखाने के लिए एक स्क्रिप्ट है

SELECT deqs.last_execution_time AS [Time], dest.TEXT AS [Query]
FROM sys.dm_exec_query_stats AS deqs
CROSS APPLY sys.dm_exec_sql_text(deqs.sql_handle) AS dest
where dest.TEXT like '%Delete%from%'
ORDER BY deqs.last_execution_time DESC

FYI करें: FROMएक DELETEबयान में एक वैकल्पिक कीवर्ड है , इसलिए मैं इसे यहाँ मेल खाते विधेय में शामिल नहीं करूँगा।
जॉन सेगेल

ट्रू इन डिलीट स्टेटमेंट वैकल्पिक है, मैंने इसे केवल अपनी क्वेरी के परिणामों को सीमित करने के लिए रखा है। लेकिन हाँ, आप सही हैं
AmmarR

ध्यान दें, केस-संवेदी SQL सर्वर इंस्टेंस के लिए, ऊपर दिया गया कोड याद आ जाएगा deleteऔर DELETEआदि, जहाँ आप क्लॉज़ केस-असंवेदनशील बनाना चाहते हैं, उदाहरण के लिए: WHERE dest.text LIKE '%DELETE %' COLLATE Latin1_General_CI_AS
Max Vernon

11

आप लॉग में अभी भी LOP_DELETE_ROWS संचालन की तलाश में हटाए गए व्यक्तिगत पंक्तियों को देख सकते हैं:

select * from fn_dblog(NULL, NULL) 
where Operation = 'LOP_DELETE_ROWS'

यदि लॉग को पुनर्नवीनीकरण किया गया था (सरल रिकवरी मॉडल में) या बैकअप (पूर्ण या थोक पुनर्प्राप्ति मॉडल में) से काट दिया गया है, तो आप लॉग में अभी भी उपलब्ध लॉग ऑपरेशन देख पाएंगे।

लॉग ऑपरेशन को समझना काफी जटिल है, आपको पूर्ववत किए गए कुछ पैटर्न के बोध कराने के लिए पूर्ववत या क्षतिपूर्ति संचालन जैसी चीजों के बारे में पता होना चाहिए, लेकिन सीधे फॉरवर्ड किए गए DELETEs को समझना काफी आसान है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.