2005 या 2008 के उदाहरण के बिना SQL Server 2000 से 2012 तक माइग्रेट करें


11

मैं SQL सर्वर 2000 पर बैठे तीन पुराने डेटाबेस में आ गया हूं, जिसे मुझे 2012 में स्थानांतरित करने की आवश्यकता है। मेरा मानना ​​है कि मानक दृष्टिकोण 2005 या 2008 के उदाहरण, अद्यतन, पुन: निर्यात में पुनर्स्थापित करना और अंत में 2012 में पुनर्स्थापित करना है।

ठीक है, सिवाय इसके कि हमारे पास 2005 या 2008 के उदाहरण उपलब्ध नहीं हैं।

क्या कोई वर्कअराउंड या अन्य तरीके हैं जो कोशिश करने लायक हो सकते हैं?

जानकारी के लिए, डेटाबेस में केवल 15-20 टेबल और कुछ दृश्य होते हैं, वे बहुत सरल दिखाई देते हैं और बैकअप केवल 100-200MB आकार के होते हैं।



1
यह पूरी तरह से कानूनी है, और उन्नयन के लिए एक "पुल" के रूप में एक मध्यवर्ती उदाहरण स्थापित करने के लिए एसक्यूएल के लाइसेंसिंग में शामिल है। कोई भी उपयोगकर्ता इससे कनेक्ट नहीं होना चाहिए। ...
रोस्तोल १३'१

जवाबों:


21

नहीं, 2000 से 2012 तक सीधे डेटाबेस को अपग्रेड करने का कोई हल नहीं है।

चूँकि आपके पास एक टन डेटा नहीं है, आप डेटा को स्थानांतरित करने के लिए सभी प्रकार की चीजें कर सकते हैं (लेकिन एक पूरे के रूप में डेटाबेस नहीं), इसमें शामिल हैं:

  • आयात / निर्यात विज़ार्ड
  • लघु उद्योगों
  • बीसीपी
  • 2012 या किसी एप्लिकेशन से लिंक किए गए सर्वर का उपयोग करके मैन्युअल क्वेरी

हालांकि ये जरूरी नहीं कि उपयोगकर्ता, अनुमति, भूमिका इत्यादि जैसी अन्य चीजों को लाएगा और सब कुछ सही निर्भरता क्रम में आपकी वस्तुओं का निर्माण नहीं करेगा। इसलिए वे अधिक काम और त्रुटि-प्रवण हैं। मेरे अनुभव में यह अस्थायी रूप से केवल एक मध्यवर्ती उदाहरण लगाने के लिए सार्थक होगा और फिर दो बैकअप + पुनर्स्थापना संचालन करेंगे - जो उपरोक्त विधियों में से किसी भी विधि की तुलना में आसान, तेज और कम त्रुटि वाले होंगे।

यदि आपके डेटाबेस 10GB से छोटे हैं, तो आप कुछ ही मिनटों में एक्सप्रेस (मुक्त) की एक प्रति स्थापित कर सकते हैं और उसका उपयोग कर सकते हैं। आप यहां 2008 R2 एक्सप्रेस डाउनलोड कर सकते हैं । मुझे नहीं लगता कि डेटाबेस संरचना आदि के आसपास 2000 में कोई एंटरप्राइज फीचर्स हैं जो उस अपग्रेड (अधिक आधुनिक संस्करणों के लिए एक बड़ी चिंता) को अवरुद्ध करेंगे।

यदि आपका डेटाबेस एक्सप्रेस के लिए बहुत बड़ा है, तो आपको $ 49 या तो (या इससे भी सस्ता - मैं ईबे पर $ 37 के लिए पाया गया ) के लिए डेवलपर संस्करण खोजने में सक्षम होना चाहिए , या यदि आपके पास एमएसडीएन सदस्यता है, तो आपको कोई भी प्राप्त करने में सक्षम होना चाहिए वहां से एस.के.यू.

या आप एक मूल्यांकन संस्करण का उपयोग करके दूर हो सकते हैं, जो आश्चर्यजनक रूप से अभी भी पुराने संस्करणों के लिए डाउनलोड करने की पेशकश की जा रही है (जैसे मुझे 2008 यहां मिला ), हालांकि मैं एक फोन पर हूं इसलिए उस संस्करण के लिए डाउनलोड की पुष्टि करने में सक्षम नहीं था ।


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

नहीं, केवल वास्तव में उपयोगी एक 2008 है अन्यथा आपको 2005 से 2005 की आवश्यकता भी होगी
रोस्टोल

क्या आपको यकीन है @Rostol? sqlskills.com/blogs/paul/…
एडम नोफ़्सिंगर

@AdamNofsinger मैं 100% निश्चित रूप से कहने जा रहा था, मैंने यह एक गजनी बार किया था (हमारे पास एक पुरानी SQL 2000 का उपयोग एक पुरानी प्रणाली द्वारा किया गया है) और पहले उद्देश्य के लिए डेटा बनाने के लिए 2008 vm बनाया गया है और फिर बैकअप और SQL 2016 को पुनर्स्थापित करना है ... लेकिन अगर पॉल रैंडल अन्यथा कहते हैं ... लेकिन ध्यान रखें कि प्रत्यक्ष विधि 2005+ से काम करती है। 2000 और 2003 के लिए सीधे नहीं।
21

6

बताते हैं कि कोई वर्कअराउंड नहीं है, थोड़ा समयपूर्व लगता है।

आप कहते हैं कि आपके डेटाबेस में केवल कुछ टेबल और दृश्य हैं। SQL और स्टेटमेंट बनाने के लिए तालिकाओं और विचारों को स्कीमा में निर्यात क्यों न करें और उन्हें अपने लक्ष्य डेटाबेस पर चलाएं? फिर आप CSV प्रारूप जैसी वास्तविक डेटा को भी निर्यात कर सकते हैं और उन्हें लक्ष्य डेटाबेस में आयात कर सकते हैं, या शायद वास्तविक डेटा को निर्यात / आयात करने के लिए C # / C ++ / etc में भी कुछ लिख सकते हैं।

आपको SQL सर्वर के नए उदाहरणों पर एक पैसा खर्च करने की आवश्यकता नहीं होगी जिसकी आपको अंततः आवश्यकता नहीं है।


3
और अन्य सभी वस्तुओं, संग्रहीत प्रक्रियाओं, ट्रिगर, कार्यों, आदि को शामिल करें। इसी तरह से और डेटाबेस से डेटा कॉपी करने के लिए BCP उपयोगिता है।
RLF

1
धन्यवाद। इस तरह की बात मैं शायद उम्मीद कर रहा था, लेकिन डीबी तकरार मेरा दिन का काम नहीं है और अगर कोई अन्य निर्भरता या सेटिंग्स (उपयोगकर्ता अनुमति आदि) हैं तो मुझे भी यकीन नहीं है कि अगर मैं। सिर्फ टेबल आदि का निर्यात किया
लुनैटिक

4
निष्पक्ष रूप से, मेरे उत्तर को अपडेट किया। अभी भी लगता है कि एक वर्कअराउंड अस्थायी रूप से एक इंस्टेंस डालने की तुलना में बहुत अधिक काम है, और दो विश्वसनीय और त्रुटि-रहित बैकअप + पुनर्स्थापना संचालन नहीं कर रहा है। (इसके अलावा, इस बारे में होने लगते हैं यह नहीं है कि पैसे , के बाद से ओपी पहले से ही 2005 बाइनरी है, और एक डेटाबेस है कि छोटे में सक्षम होना चाहिए वैसे भी एसक्यूएल एक्सप्रेस का उपयोग कर माइग्रेट करने के लिए।)
हारून बर्ट्रेंड

3

नहीं, आप इसे 2000 से 2012 तक सीधे माइग्रेट नहीं कर सकते।

आप जो कर सकते हैं वह 2005 या 2008 के ओआर 2008 आर 2 के अस्थायी उदाहरण को स्थापित करना है, यहां 2000 डेटाबेस को पुनर्स्थापित करें। एक बार करने के बाद अब आप उस उदाहरण से डेटाबेस का बैकअप लेकर और SQL सर्वर 2012 पर पुनर्स्थापित करके इंस्टाल किए गए इंस्टेंस से अपग्रेड कर सकते हैं।

आपको माइग्रेशन दो चरणों में करना होगा:

  • चरण 1: उदाहरण के लिए SQL 2000 से SQL 2008 में पहला माइग्रेशन करें। आपको SQL 2000 SP4 होना चाहिए, फिर इस चरण का पालन करें: SQL Server 2000 SQL Server 2008 में स्थानांतरण करें

  • चरण 2: SQL Server 2008 से 2012 तक दूसरा माइग्रेशन करें।


0

आप कहते हैं "आप SQL सर्वर 2000 पर बैठे तीन पुराने डेटाबेस में आ गए हैं" जो मुझे विश्वास दिलाता है कि आपको केवल डेटा की आवश्यकता है। मुझे लगता है कि अगर वे एक उद्देश्य के लिए चलाए जा रहे थे, तो आपको पता होगा। यदि ऐसा है, तो उपयोगकर्ताओं, सुरक्षा आदि के सभी प्रश्नों को अनदेखा करें।

आयात / निर्यात विज़ार्ड सभी तालिकाओं को संग्रहीत प्रक्रियाओं और विचारों को स्क्रिप्ट करें रखरखाव प्रक्रियाओं और एजेंट नौकरियों के लिए जांचें केवल उन प्रक्रियाओं को दस्तावेज़ करने के लिए जिन्हें आप बाद में देखना चाहते हैं।


0

आप SQL Server 2000 से सीधे SQL सर्वर 2012 पर माइग्रेट नहीं कर सकते हैं, और यदि आप इसे करने का प्रयास करते हैं, तो आपको निम्न त्रुटि संख्या 3169 मिलेगी, जो संगतता समस्याओं से संबंधित है।

SQL सर्वर 2012 में माइग्रेशन निम्न संस्करणों (न्यूनतम संस्करणों) SQL Server 2005 SP4 या SQL Server 2008 SP2 या SQL Server 2008 R2 SP1 में से किसी एक से किया जा सकता है।

तो SQL Server 2000 से उन संस्करण में से एक पर माइग्रेट करने का पहला चरण, मुझे निम्न लिंक में SQL Server 2008 के लिए अपग्रेड सलाहकार में से एक मिला । यह सुनिश्चित करने के लिए कि बहाली प्रक्रिया शुरू करने से पहले सब कुछ सुचारू रूप से काम करेगा, आपको एप्लिकेशन चलाने की आवश्यकता है। फिर "उन्नत सलाहकार विश्लेषण विज़ार्ड लॉन्च करें" और विज़ार्ड चरणों का पालन करें।

रिपोर्ट मिलने के बाद, आपको लक्ष्य SQL Server 2005 SP4 या SQL Server 2008 SP2 या SQL Server 2008 R2 SP1 पर डेटाबेस को पुनर्स्थापित करने और उस पर संगतता स्तर चलाने की आवश्यकता है (आप इसे डेटाबेस विकल्प पर पा सकते हैं)। SQL सर्वर लॉगिन के लिए निम्न लिंक में दिए गए निर्देश का पालन करें

जब वह पूरा हो जाता है, तो अब आपको SQL सर्वर 2012 पर उसी चरण को दोहराते हुए सर्वर से माइग्रेट करने की आवश्यकता होती है, जिसमें आपने पहला माइग्रेशन किया था।


0

पहले मैं मानता हूं कि आपको सीधे 2000 से 2012 में पलायन नहीं करना चाहिए। मुझे लगता है कि इस प्रक्रिया को अच्छी तरह से कवर किया गया है। मैं आपको यह सुनिश्चित करने के लिए सुझाव देना चाहता था कि क्या कोई डेटाबेस का उपयोग कर रहा है और वे उनके लिए क्या उपयोग कर रहे हैं। हो सकता है कि इनका इस्तेमाल न हो रहा हो। ऐसा होता है और अगर ऐसा है तो आपको कोई चिंता नहीं है। यह हो सकता है कि 2 या 3 तालिकाओं को जोड़ने और डेटा (2000 के लिए bcp का उपयोग करें, यदि आप किसी मौजूदा तालिका के लिए डेटा को एक साधारण और विश्वसनीय के लिए बाहर निकालना चाहते हैं) एक मौजूदा 2012 डेटाबेस के लिए उपयोगकर्ताओं की जरूरतों को पूरा करेगा। यदि आप ऐसा करते हैं तो 2012 डेटाबेस में नई तालिकाएँ बनाएँ और सीएसवी को आपके द्वारा आवश्यक डेटा को bcp करें यदि आप चाहें तो इसे वापस bcp कर सकते हैं। यदि आपको एक या दो से अधिक माइग्रेट करना है तो सबसे सरल और सुरक्षित और सबसे अच्छा तरीका है कि आप दो चरण का माइग्रेशन करें। डॉन'


आपको पता होना चाहिए कि 2000 में स्कीमा स्क्रिप्टिंग 100% सटीक नहीं थी। मुझे याद है कि हमेशा स्क्रिप्ट को संपादित करना होता है।
dkh63493
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.