2009-01-05 18 views
21

को अपने आप को यहां एक अचार में मिला है ... एक सीएमएस परियोजना पर काम कर रहा है, इस धारणा के तहत कि SQL सर्वर 2008 को पसंद के डीबी के रूप में हरा दिया गया था। वैसे यह नहीं था, अब हमें SQL Server 2008 और SQL Server 2005 में हमारी सभी सामग्री का बैकपोर्ट करना होगा।एसक्यूएल सर्वर 2008 डीबी * को * एसक्यूएल सर्वर 2005

एक साधारण बैकअप/पुनर्स्थापना प्रक्रिया उत्पन्न होती है: "पुनर्स्थापना हेडरोनोन असामान्य रूप से समाप्त हो रहा है। (माइक्रोसॉफ्ट एसक्यूएल सर्वर, त्रुटि : 3241) "।

दुर्भाग्य से, एक्सेल स्प्रेडशीट में डेटा निर्यात करने से कई ओएलई त्रुटियां उत्पन्न होती हैं जो मुझे विश्वास है कि वास्तव में सीएमएस के डीबी में समस्या है।

क्या किसी के पास अन्य कार्य हैं जो वे इस कार्य के लिए अनुशंसा करना चाहते हैं? अग्रिम धन्यवाद

+0

ocdecio द्वारा सुझाए गए एसक्यूएल तुलना/डेटा तुलना टूल को पकड़ें। इस तरह की चीज़ के लिए एक इलाज करता है। http://stackoverflow.com/questions/413699/restore-sql-server-2008-db-to-sql-server-2005#413801। – Kev

उत्तर

15

उपयोग RedGate:

tool for comparing and deploying SQL Server database contents.

You can work with live databases, backups, or SQL scripts in source control. Damaged or missing data can be restored to a single row, without the need for a full database recovery.

SQL Data Compare helps you compare and deploy changes quickly, simply, and with zero errors...

+0

एसक्यूएल तुलना और एसक्यूएल डेटा रॉक की तुलना करें। उनका नि: शुल्क 14 दिन का परीक्षण (यदि आप अच्छी तरह से पूछते हैं तो वे विस्तारित होंगे) मुझे इस तरह के छेद से बाहर कर दिया। खरीदारी सूची पर Defo। – Kev

+0

कृपया अगर यह आपको एक दिन बचाता है तो सॉफ़्टवेयर वाणिज्यिक लाभ के लिए परीक्षण का उपयोग न करें। मेरी आखिरी भूमिका में हमने सॉफ्टवेयर खरीदा और उसने कई बार अपने लिए भुगतान किया। –

+0

मेरे अनुभव में रेडगेट उपकरण एक जीवन-बचतकर्ता रहे हैं। यद्यपि यदि आपको केवल एक-एक नौकरी के लिए इसकी ज़रूरत है तो आप इसे क्यों खरीदेंगे? यदि आपको फिर से इसकी आवश्यकता है (जो मुझे लगता है कि आप करेंगे), तो इसे खरीदें! – jaffa

0

मैं केवल mysql का उपयोग करता हूं लेकिन क्या आप अपना डेटा एसक्यूएल स्टेटमेंट में निर्यात कर सकते हैं, और उसके बाद sql2005 में आयात कर सकते हैं? बस एक विचार ..

+0

आह मैंने कोशिश की। एसक्यूएल ने कल रात 12+ घंटे तक भाग लिया। डीबी * वह * बड़ा नहीं है इसलिए मुझे लगता है कि कुछ गलत है। –

5

बैकअप करने और पुनर्स्थापित करने के बजाय आप SQL 2005 के आयात/निर्यात डेटा विज़ार्ड का उपयोग करने का प्रयास कर सकते हैं।

http://support.microsoft.com/default.aspx?scid=kb;en-us;314546

http://msdn.microsoft.com/en-us/library/ms140052(SQL.90).aspx

+0

यह 2008 से 2005 तक जाने पर कैसे काम करता है? – codeulike

1

यह एसक्यूएल सर्वर

में पिछले संस्करणों की बहाल करने के लिए संभव नहीं है कि वहाँ कोई एसक्यूएल 2005 बैकअप के आसपास है? अन्यथा आप वास्तव में 2008 में पूरे डेटाबेस को निर्यात करने के लिए सीमित हैं, और 2005 में फिर से आयात करते हैं, या 2008 में आयात/निर्यात विज़ार्ड

या तृतीय पक्ष टूल पर भरोसा करते हैं। जैसे लाल गेट डेटा तुलना सिंक करने में सक्षम है। 2 सर्वर/डेटाबेस के बीच डेटा

0

मुझे एक समान समस्या का सामना करना पड़ा (एसक्यूएल 2005 से एसक्यूएल 2000), और पाया कि मेरे पुराने संस्करण में रिक्त डेटाबेस होना था। मैंने सभी डेटा कॉपी करने के लिए bcp.exe का उपयोग किया।

6

डेटाबेस और स्कीमा बना सकते हैं और आप SQL सर्वर 2005 और स्क्रिप्ट डेटा को लक्ष्य सुनिश्चित करने के लिए उत्पन्न स्क्रिप्ट का उपयोग।

+0

स्क्रिप्ट उत्पन्न करने के लिए, [यह SO उत्तर] देखें (http://stackoverflow.com/a/1515975/1402846)। – Pang

4

मैंने अभी भी एक ही समस्या को मारा है और यहां मैंने इसके आसपास काम किया है।

समस्या एक डेटाबेस को एक SQL सर्वर 2008 डेटाबेस से एक नए SQL सर्वर 2005 डेटाबेस में कॉपी करना था।

मैंने 2008 सर्वर पर प्रबंधन स्टूडियो का उपयोग कर डेटाबेस को स्क्रिप्ट किया। मैंने केवल डाटाबेस डिज़ाइन को स्क्रिप्ट किया, डेटा नहीं। मुझे यह भी जोड़ना चाहिए कि डीबी में केवल टेबल और इंडेक्स हैं, इसलिए मैंने किसी भी चतुर वस्तुओं के साथ यह कोशिश नहीं की है, हालांकि मुझे नहीं लगता कि वे क्यों काम नहीं करेंगे।

2005 सर्वर पर मैंने हाथ से एक नया डेटाबेस बनाया और फिर सभी तालिकाओं और अनुक्रमणिका सेट अप करने के लिए स्क्रिप्ट चलाया।

2008 के सर्वर पर प्रबंधन स्टूडियो में मैंने 2008 सर्वर से 2005 सर्वर तक डेटा निर्यात करने के लिए निर्यात डेटा विज़ार्ड का उपयोग किया था। यह वर्तमान में चल रहा है और डेटा को स्थानांतरित करने में काफी खुश दिखता है।

एक बार सभी डेटा भरने के बाद मेरे पास कुछ छोटी चीजें करने के लिए छोड़ दिया जाएगा - उपयोगकर्ताओं को बनाएं और 2005 डीबी में सुरक्षा सेट अप करें, लेकिन सभी में यह एक जैसा दिखता नहीं है ऐसा करने का बुरा तरीका। यह काफी बिंदु-और-क्लिक नहीं है लेकिन यह बहुत ज़ोरदार नहीं है।

तो ऐसा लगता है कि कॉपी डेटाबेस विज़ार्ड काम नहीं करेगा (मुझे लगता है कि पैकेज अंततः 2005 सर्वर पर चलता है और 2005 प्रबंधन स्टूडियो 2008 से बात नहीं कर सकता) लेकिन निर्यात डेटा विज़ार्ड डेटा को काफी खुश कर रहा है। .. जब तक लक्ष्य सर्वर पर डीबी पहले से मौजूद है।

आशा है कि यह उपयोगी है।

0

जांच के लिए इस लिंक click here आप एसक्यूएल सर्वर 2008 में डेटाबेस स्क्रिप्ट बना सकते हैं और आप इसे SQL सर्वर 2005 और निचले संस्करण का उपयोग कर सकते हैं ....

9

डिफ़ॉल्ट रूप से ऐसा करने के लिए कोई तरीका नहीं है। आप 2008 सर्वर पर 2008 डेटाबेस के लिए स्क्रिप्ट उत्पन्न कर सकते हैं और फिर 2005 स्क्रिप्ट पर इन स्क्रिप्ट को निष्पादित कर सकते हैं। ध्यान दें कि आपको स्क्रिप्ट की मैन्युअल रूप से समीक्षा करना होगा और 2008 के संस्करण के लिए अद्वितीय सभी भागों को हटाना होगा।

एक और तरीका तीसरे पक्ष के उपकरण जैसे रेड गेट या ApexSQL Diff (स्कीमा ले जाएं) और ApexSQL Data Diff (डेटा ले जाएं) का उपयोग करना है।

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