बस इसे देते हैं और यह उन्नत किया जाएगा। आप एलडीएफ फ़ाइल नहीं है, तो (? और तुम क्यों एलडीएफ फ़ाइल नहीं है) आप हो सकता है का उपयोग करें:
CREATE DATABASE [DatabaseName] ON
(FILENAME = N'Drive:\path\file.mdf')
FOR ATTACH_REBUILD_LOG;
कुछ चेतावनियां, बेशक ... हैं
- देख रहा है क्योंकि आपके पास केवल .mdf फ़ाइल है, तो संभवतः आप एक कठोर जागरूकता के लिए हो सकते हैं। अगर फ़ाइल को SQL सर्वर से साफ़ रूप से अलग नहीं किया गया था, तो यह पुनः अनुलग्नक नहीं हो सकता है, और आपको उचित बैकअप (एक .mdf फ़ाइल नहीं) के लिए स्रोत सर्वर पर वापस जाना होगा। यह सब इस बात पर निर्भर करेगा कि आपको .mdf फ़ाइल कहां मिली है जिसे आप अपग्रेड करने का प्रयास कर रहे हैं।
File activation failure. The physical file name "..._log.LDF" may be incorrect.
The log cannot be rebuilt because the database was not cleanly shut down.
Msg 1813, Level 16, State 2, Line 1
Could not open new database 'DatabaseName'. CREATE DATABASE is aborted.
- अगर अपने डेटाबेस 80 संगतता मोड में है, यह 90 के लिए उन्नत किया जाएगा यह कुछ काम कर कोड मतलब हो सकता है कर सकते हैं: अपने .mdf फ़ाइल सफाई से अलग नहीं कर रहा था, तो आप इस त्रुटि आ सकती है अचानक ब्रेक, जैसे
*=
/=*
वाक्यविन्यास में शामिल हों।
- यदि आपका डेटाबेस> 10 जीबी है और आप एक्सप्रेस (और शायद स्थानीय डीबी, कभी कोशिश नहीं की है) को जोड़ने का प्रयास करते हैं, तो अटैच विफल हो जाएगा (या शायद अनुलग्नक सफल हो जाएगा लेकिन पहले ऑटोग्रो में असफल हो जाएगा? इसका परीक्षण नहीं किया गया है) ।
- यदि आपके डेटाबेस को 2008 एंटरप्राइज़/डेवलपर पर बनाया गया था, तो आपको भी समस्याएं होंगी और आपने केवल वहां उपलब्ध सुविधाओं का उपयोग किया है, और आप डेटाबेस को मानक या एक्सप्रेस संस्करणों में संलग्न करते हैं ...
- ठीक है, आपके त्रुटि संदेश से, आप 2008 डेटाबेस को अटैच करने की कोशिश नहीं कर रहे हैं, बल्कि 2000 डेटाबेस भी। आप इसे सीधे SQL Server 2012 से संलग्न नहीं कर सकते हैं। आपको इसे पहले उस संस्करण में अपग्रेड करने के लिए SQL Server 2005, 2008 या 2008 R2 के किसी भी उदाहरण से अटैचमेंट करने की आवश्यकता होगी, और उसके बाद इसे वापस ले लें और इसे SQL Server 2012 में पुनर्स्थापित करें।
Fwiw, एक बहुत, एक से दूसरे उदाहरण से एक डेटाबेस हिलाने की बहुत, बहुत सुरक्षित तरीका BACKUP
/RESTORE
(कारण उपयोग कर रहा है कि अगर आपके बैकअप विफल रहता है, तो आप अभी भी डेटाबेस की एक प्रति है है - अगर आप डेटाबेस को अलग करें, और कुछ गलत हो जाता है, आपके पास शून्य प्रतियां हैं)। हालांकि ऊपर दिए गए कुछ मुद्दे अभी भी इस सुरक्षित दृष्टिकोण के साथ भी लागू हो सकते हैं।
स्रोत
2013-03-01 17:56:54
आपको इसके रूपांतरण की आवश्यकता नहीं है। बस इसे सीधे SQL सर्वर 2012 पर पुनर्स्थापित करें। –
आपके लिए धन्यवाद, लेकिन मुझे अगली त्रुटि है: डेटाबेस 'सेल्स' को अपग्रेड नहीं किया जा सकता क्योंकि इसका गैर-रिलीज़ संस्करण (539) SQL सर्वर के इस संस्करण द्वारा समर्थित नहीं है। आप ऐसे डेटाबेस को नहीं खोल सकते जो sqlservr.exe के इस संस्करण के साथ असंगत है। आपको डेटाबेस को फिर से बनाना होगा। नया डेटाबेस 'बिक्री' नहीं खोल सका। डाटाबेस तैयार करें निरस्त कर दिया गया है। (माइक्रोसॉफ्ट एसक्यूएल सर्वर, त्रुटि: 9 50) ..................और ईमानदारी से मुझे कई समाधान मिले, लेकिन सफलता के बिना – Andreu
कृपया मेरे उत्तर का अपडेट देखें। आप जानते हैं कि SQL Server 2000 और SQL Server 2008 के बीच एक बड़ा अंतर है। आपकी समस्या का सटीक वर्णन नहीं करना बेकार सलाह का एक गुच्छा पाने और प्रक्रिया में लोगों के समय को बर्बाद करने का एक अच्छा तरीका है। –