2012-07-09 6 views
9

मैं डीबी को अलग करने की कोशिश कर रहा था जब उसने मुझे एक त्रुटि दी जो वर्तमान में उपयोग में है। इसलिए, मैं अपने डीबी ऑफ़लाइन लेने की कोशिश की, लेकिन यहडेटाबेस 'ऑफ़लाइन इसे लेने' के बाद पहुंच योग्य नहीं है

'an exception occured while executing a transact SQL statement or batch 

-> ALTER DATABASE failed because a lock could not be placed on database 'myDB'. Try again later. 
    ALTER DATABASE statement failed. (Microsoft SQL Server, Error: 5061)' 

कह अब अगर मैं कोशिश करते हैं और डीबी यह कहते हैं कि यह सुलभ नहीं है का उपयोग विफल रहा है। मैं अपने डीबी को फिर से सुलभ बनाने के लिए क्या कर सकता हूं?

मेरा उद्देश्य डीबी को अलग करना था, अपनी माध्यमिक डेटाबेस फ़ाइल को एक नए ड्राइव में स्थानांतरित करना था और इसे फिर से जोड़ना था (बस अंतरिक्ष समस्याओं के कारण)।

उत्तर

12

निम्नलिखित चरणों का प्रयास करें।

  1. services.msc कंसोल का उपयोग कर SQL सर्वर सेवा को पुनरारंभ करें।
  2. अब SQL सर्वर प्रबंधन स्टूडियो का उपयोग कर अपने सर्वर से कनेक्ट करें। क्वेरी विश्लेषक में
  3. भागो निम्न आदेश

    ALTER DATABASE `YOURDATABASE_NAME` 
        SET SINGLE_USER WITH ROLLBACK IMMEDIATE 
    
  4. अब राइट-क्लिक करें कार्य करने के लिए डेटाबेस का नाम, बिंदु, और फिर अलग करें पर क्लिक करें। अलग डाटाबेस संवाद बॉक्स प्रकट होता

या 5. अपने आदेश चलाएं माध्यमिक डेटाबेस स्थानांतरित करने के लिए।

  1. फिर से बहु उपयोगकर्ता के लिए डेटाबेस मोड

    ALTER DATABASE `YOURDATABASE_NAME` SET MULTI_USER 
    

आशा इस मदद करता है निर्धारित करें।

+0

धन्यवाद। यह काम किया! – Vaibhav

10

फ़ुरकान के उत्तर में चरण एक के विकल्प के रूप में, आपको SQL सर्वर इंस्टेंस को पुनरारंभ करने की आवश्यकता नहीं हो सकती है, लेकिन केवल SQL सर्वर प्रबंधन स्टूडियो इंस्टेंस, जिसे "ऑफ़लाइन ले जाएं" कार्य शुरू करने के लिए उपयोग किया गया था।

+0

इसके लिए धन्यवाद - मतलब है कि हमें पूरा SQL सर्वर ऑफ़लाइन नहीं लेना पड़ा! – KaraokeStu

+2

मैं इसे सत्य होने की पुष्टि कर सकता हूं। ऐसा लगता है कि प्रबंधन स्टूडियो एक कनेक्शन खुला रखता है। –