2012-11-23 13 views
8

मेरे पास एक सारणी है जिसमें लाखों पंक्तियां हैं। दुर्घटनाग्रस्त रूप से मैंने एक तालिका पर एक अद्यतन क्वेरी लिखा जहां खंड और निष्पादित क्लिक किया गया। यह निष्पादन शुरू कर दिया। दो सेकंड के बाद मुझे एहसास हुआ कि क्वेरी गलत है और मैंने एसक्यूएल सर्वर प्रबंधन स्टूडियो में 'स्टॉप' बटन पर क्लिक किया। क्वेरी निष्पादन रोक दिया गया था, यह सब 7 सेकंड के भीतर हुआ था। अब मुझे यह जानकर उत्सुकता है कि क्या कोई भी पंक्ति प्रभावित होती है यदि वे हैं। इसे खोजने के लिए हो। अग्रिम धन्यवाद।उपयोगकर्ता द्वारा छोड़ा गया अद्यतन प्रश्न

+0

के संभावित डुप्लिकेट प्रतिबद्ध (http [मैं एसक्यूएल सर्वर 2005 में एक अद्यतन क्वेरी रोलबैक कर सकते हैं कैसे?]: // stackoverflow .com/प्रश्न/721471/कैसे-कर-i-rollback-an-update-query-in-sql-server-2005) – Kermit

+0

मुझे ऐसा लगता है कि njk। मैं रोलबैक नहीं करना चाहता, मैं प्रभावित पंक्तियों की संख्या जानना चाहता हूं। धन्यवाद – MaxRecursion

+2

@ अक्षयकुल्कर्णी आपके पास कोई प्रतिबद्धता नहीं है क्योंकि कोई प्रतिबद्धता नहीं की गई है। एसक्यूएल सर्वर कथन के अंत में प्रतिबद्ध करता है लेकिन आपने रद्द कर दिया है। तो कोई पंक्ति प्रभावित नहीं – Marc

उत्तर

9

एक एकल अद्यतन कथन कुछ पंक्तियों को अपडेट नहीं करेगा। यह सभी पंक्तियां हैं या कोई भी

यह atomicityACID गुणों में है जो SQL सर्वर अच्छी तरह से सम्मान करता है।

परमाणुता की आवश्यकता है कि प्रत्येक लेनदेन "सब कुछ या कुछ नहीं": यदि लेनदेन का एक हिस्सा विफल रहता है, तो संपूर्ण लेनदेन विफल हो जाता है, और डेटाबेस स्थिति अपरिवर्तित बनी हुई है। एक परमाणु प्रणाली को बिजली की विफलताओं, त्रुटियों और दुर्घटनाओं सहित प्रत्येक स्थिति में परमाणुता की गारंटी देनी चाहिए।

फिर प्रतिबद्ध बयान के अंत में है, इसलिए जब आप रद्द कोई

+0

यह सवाल का उत्तर कैसे देता है? – Kermit

+0

सवाल यह है कि "अब मुझे यह जानकर उत्सुकता है कि क्या कोई भी पंक्ति प्रभावित होती है यदि वे हैं"। ऐसा नहीं है – Marc

+0

तो मेरी समझ के अनुसार कोई पंक्तियां सही नहीं बदली गईं? बहुत बहुत धन्यवाद। क्या सत्यापित करने का कोई तरीका है? – MaxRecursion

संबंधित मुद्दे