मैं अपने SQL Azure डेटाबेस को स्थानीय SQL सर्वर उदाहरण में कैसे कॉपी करूं?


12

मेरे पास SQL ​​Azure उदाहरण पर होस्ट किया गया OLTP डेटाबेस है। मैं डेटाबेस की एक प्रतिलिपि क्लाउड से नीचे खींचना चाहता हूं ताकि मैं स्रोत डेटाबेस को प्रभावित किए बिना इसके खिलाफ कुछ भारी अर्क और OLAP- शैली क्वेरी चला सकूं।

मैं स्थानीय SQL सर्वर आवृत्ति के लिए डेटाबेस की एक प्रति कैसे खींच सकता हूं?

जवाबों:


9

SQL Azure माइग्रेशन विज़ार्ड का उपयोग करें :

SQL Azure माइग्रेशन विज़ार्ड (SQLAzureMW) आपको विश्लेषण करने, स्क्रिप्ट बनाने और BCP के माध्यम से डेटा माइग्रेट करने के विकल्प देता है:

  1. SQL सर्वर से SQL Azure
  2. SQL सर्वर के लिए SQL Azure
  3. SQL Azure से SQL Azure

LocalDB के साथ काम करना प्रतीत नहीं होता है, मेरे पास यह कहते हुए एक त्रुटि है कि गंतव्य डेटाबेस का चयन करते समय कदम पर 'एन्क्रिप्शन समर्थित नहीं है'। उपकरण मेरे स्थानीय उदाहरण
tobiak777

@ red2nb - मुझे लोकलडीबी के बारे में कुछ नहीं पता, लेकिन शायद जैसा कि त्रुटि से पता चलता है कि यह लोकलडीबी के साथ एक मुद्दा नहीं है, लेकिन गंतव्य डेटाबेस के साथ एक मुद्दा एन्क्रिप्ट किया जा रहा है।
निक चामास

4

एक bcpस्क्रिप्ट लिखें जो आपके सभी तालिकाओं की सामग्री को स्थानीय फ़ाइलों में निर्यात करती है।

एक क्वेरी लिखने से शुरू करें bcpजो आपके लक्ष्य डेटाबेस में प्रत्येक तालिका को आपके गंतव्य मशीन पर एक पथ पर निर्यात करने के लिए एक कमांड का उत्पादन करेगी :

SELECT 
      'bcp '
    + SCHEMA_NAME(schema_id) + '.' + name
    + ' out '
    + ' D:\local_backup_directory\' + SCHEMA_NAME(schema_id) + '.' + name + '.txt'
    + ' -c '
    + ' -S servername.database.windows.net '
    + ' -d database_name '
    + ' -U username '
    + ' -P password'
FROM sys.tables;

bcpजिस मशीन को आप कॉपी करना चाहते हैं और परिणाम को cmdफ़ाइल में सहेजना चाहते हैं, उसके साथ अपने SQL एज़्योर डेटाबेस के विरुद्ध इस क्वेरी को निष्पादित करें । उस cmdफ़ाइल को एक फ़ाइल में निर्यात करने के लिए उस फ़ाइल को निष्पादित करें।

C:\> REM ask bcp to save the results of the above query to a file
C:\> bcp "SELECT      'bcp '    + SCHEMA_NAME(schema_id) + '.' + name   + ' out '   + ' D:\backup_directory\' + SCHEMA_NAME(schema_id) + '.' + name + '.txt'    + ' -c '    + ' -S servername.database.windows.net '    + ' -d database_name '  + ' -U username '   + ' -P password' FROM sys.tables;" queryout output_path\bcp_script.cmd -c -S servername.database.windows.net -d database_name -U username -P password

C:\> REM execute the bcp commands saved to file
C:\> output_path\bcp_script.cmd

यह एक त्वरित और गंदा दृष्टिकोण है, और बड़े डेटाबेस या जटिल स्कीमाता के लिए उपयुक्त नहीं है



2

मैंने देखा कि इस सूची में एक नया उपकरण है, यह इडेरा की एज़्योर SQL डेटाबेस बैकअप है । यह मुफ़्त है और वे आमतौर पर अच्छे उपकरण बनाते हैं, इसलिए यह एक कोशिश के लायक है।

डेटाबेस निर्यात करने का एक और तरीका (लेकिन इस बार केवल स्कीमा, कोई डेटा नहीं) Azure के लिए DAC पैकेज (प्रबंधन स्टूडियो या विज़ुअल स्टूडियो 2010 से निकाली गई .dacpac फ़ाइलें) का उपयोग कर रहा है। यह केवल SQL 2008 R2 SP1 + से काम करता है।

आप यहाँ डेटा स्तरीय अनुप्रयोगों के बारे में विवरण पढ़ सकते हैं:


0

आप SSMS डेटा आयात विज़ार्ड का उपयोग कर सकते हैं। यहाँ चित्रों के साथ, इसके बारे में एक अच्छा ब्लॉग पोस्ट हैप्रमुख मुद्दा स्रोत डेटाबेस के लिए .NET डेटा प्रदाता का चयन करने के लिए है। मुझे इसे (और डिफ़ॉल्ट - मूल) प्रदाताओं के साथ काम करने में बहुत सारी समस्याएं थीं।

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