2012-05-25 13 views
23

मूल रूप से SQL Server 2008 से एक डेटाबेस, SQL Server 2012 में पुनर्स्थापित किया गया था। SQL Server 2012 से एक बैकअप बनाया गया था और मैं इसे अपने स्थानीय SQL Server 2008 एक्सप्रेस पर पुनर्स्थापित करने का प्रयास कर रहा हूं। हालांकि मुझे एक त्रुटि मिली 'निर्दिष्ट कास्ट वैध नहीं है' (SQLManagerUI)।SQL सर्वर 2012 से SQL Server 2008 एक्सप्रेस में डेटाबेस बैकअप फ़ाइल (.bak) को पुनर्स्थापित कैसे कर सकता हूं?

मैं 2012 से एक एसक्यूएल स्क्रिप्ट उत्पन्न होते हैं और यह सेट इतना है कि यह SQL सर्वर 2008 के लिए संगतता के साथ उत्पन्न होगा लेकिन यह एक बड़ी एसक्यूएल फ़ाइल है, 700mb के आसपास है।

मुझे लगता है कि इससे पहले कि मैं पहले अपने स्थानीय SQLExpress वह उस आकार की एक स्क्रिप्ट चलाने की कोशिश की थी और यह भी एक त्रुटि मिली याद।

वहाँ एक रास्ता मैं एसक्यूएल सर्वर 2008 एक्सप्रेस में एसक्यूएल सर्वर 2012 से एक "बड़े" डेटाबेस प्राप्त कर सकते हैं है?

+4

आप SQL सर्वर में संस्करणों के संदर्भ में ** कभी ** वापस "वापस" नहीं जा सकते हैं। यदि आपने 2012 के संस्करण में अपना डेटाबेस बैक अप लिया है, तो आप उस बैकअप को 2008 संस्करण में पुनर्स्थापित नहीं कर सकते हैं। बस काम नहीं करेगा - इसके चारों ओर कोई चाल या तरीके नहीं, या तो :-( –

+0

ओह, नहीं। धन्यवाद मार्क। मैं यह देखने की कोशिश करूंगा कि क्या मैं जेनरेटेड एसक्यूएल स्क्रिप्ट चला सकता हूं ताकि डेटाबेस की प्रतिलिपि मेरे स्थानीय एसक्यूएल में हो एक्सप्रेस – stormwild

+1

देखें [क्यों SQL सर्वर पिछले संस्करण में बैकअप को पुनर्स्थापित नहीं कर सकता] [http://www.mytechmantra.com/LearnSQLServer/Unable_to_Restore_Database_From_Backup.html) –

उत्तर

21

जवाब देने के लिए मार्क और हारून के लिए धन्यवाद।

त्वरित जवाब नहीं यह एसक्यूएल सर्वर के एक कम संस्करण के लिए एक उच्च संस्करण से किसी बैकअप फ़ाइल को पुनर्स्थापित करने के लिए संभव नहीं है,।

एक काम के आसपास डेटाबेस बनाने के लिए स्क्रिप्ट उत्पन्न करने के लिए किया जाएगा।

आप एक कम संस्करण के लिए स्क्रिप्ट पीढ़ी लक्षित कर सकते हैं।

अधिक जानकारी के लिए ऊपर टिप्पणी देखें।

लिंक:

Why an SQL Server Database from a higher version cannot be restored onto a lower version of SQL Server?

Create Database in SQL Server 2012, Script and Use in 2008?

3

युगल चीजों को जोड़ने के लिए है कि लोगों

लिए उपयोगी हो सकता है

जब SSMS में पटकथा विज़ार्ड का उपयोग कर विशाल डाटाबेस यह निष्पादन की जाँच करने के वास्तव में महत्वपूर्ण है को स्क्रिप्ट आदेश दें और इसे मैन्युअल रूप से व्यवस्थित करने के लिए तैयार रहें। एसएसएमएस के पुराने संस्करणों में यह समस्या थी क्योंकि वे (शायद) sp_depends पर भरोसा करते थे जिसमें bug है।

मुझे ऐसे मामलों में वास्तव में उपयोगी पाया गया है जैसे ApexSQL Diff जैसे कि आप डेटाबेस बैकअप पढ़ने और सही निष्पादन क्रम में स्क्रिप्ट उत्पन्न करने के लिए उपयोग कर सकते हैं।

SQL Server database backup restore on lower version

एक बात है कि तरीकों में से कोई भी पकड़ेगा बात हारून उच्च संस्करण में विशिष्ट कार्यों के उपयोग के बारे में बताया गया है।

1

एसएसएमएस स्क्रिप्टिंग विज़ार्ड का उपयोग करने का एक बेहतर विकल्प कोडप्लेक्स पर उपलब्ध एक समान टूल का उपयोग करना है जिसे SQL डेटाबेस माइग्रेशन विज़ार्ड - http://sqlazuremw.codeplex.com/releases/view/32334 कहा जाता है। आप SQL Server 2012 के साथ काम करने के लिए नवीनतम संस्करण v4.x चाहते हैं।

उपकरण का मूल रूप से SQL सर्वर और Azure के बीच डेटाबेस माइग्रेट करने के लिए उपयोग किया जाना है। हालांकि उपकरण बस SQL ​​सर्वर और SQL सर्वर के बीच काम करता है। चाल उन्नत विकल्पों में लक्ष्य के रूप में Azure के बजाय SQL सर्वर सेट करना है।

एसएसएमएस स्क्रिप्टिंग विज़ार्ड की तुलना में यह एक बेहतर विकल्प है कि यह टीएसक्यूएल के बजाय डेटा हस्तांतरण के लिए बीसीपी का उपयोग करता है और इसलिए यह अधिक कुशल है।

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