2012-12-07 9 views
27

पर डेटा और टेबल और एसक्यूएल स्क्रिप्ट के दृश्यों को निर्यात करने के लिए एक स्क्रिप्ट बनाना चाहते हैं।डेटा और तालिकाओं को निर्यात करने के लिए एक स्क्रिप्ट बनाना चाहते हैं और एक एसक्यूएल स्क्रिप्ट

मेरे पास SQL ​​Server 2008 r2 है।

अभी तक मैं केवल सभी तालिकाओं और विचारों के लिए एक स्केलस्क्रिप्ट उत्पन्न करने में सक्षम हूं। लेकिन डेटा शामिल नहीं था।

या क्या एक SQL सर्वर से डेटा, टेबल, दृश्य, मेरे आईएसपी के SQL सर्वर पर निर्यात करने का कोई आसान तरीका है?

सादर चाय

+0

[गैर materialized] बार देखा गया डेटा नहीं है - वे बस संग्रहीत प्रश्नों कर रहे हैं। –

उत्तर

4

यह करने के लिए सबसे आसान तरीका है, एक बैकअप बनाने अन्य सर्वर से .bak फ़ाइल की प्रतिलिपि है, और वहाँ बैकअप बहाल करना है।

+0

क्या यह काम करेगा भले ही SQL सर्वर किसी अन्य कंपनी में है जैसे आईएसपी? यह बैकअप में मेरे नाम की तलाश नहीं करेगा? – TeaDrinkingGeek

+0

@TeaDrinkingGeek नहीं, यह परवाह नहीं करेगा। जब तक आप दोनों सिरों पर एसक्यूएल के उसी संस्करण के बीच जा रहे हैं, यह ठीक होना चाहिए। आपको नए संस्करणों (उदाहरण के लिए 2008 से 2012) में भी जाना चाहिए, लेकिन मुझे नहीं लगता कि आप पुराने संस्करण (उदाहरण के लिए 2008 से 2005) पर जा सकते हैं – Greg

1

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

या आप बस SQL ​​सर्वर आवृत्ति को रोक सकते हैं और डेटाबेस को बाहरी हार्ड ड्राइव पर कॉपी कर सकते हैं और इसे दूसरे सर्वर से फिर से संलग्न कर सकते हैं। बस इस कदम के बाद उदाहरण शुरू करना याद रखें।

+0

कॉपी और संलग्न वास्तव में क्रूर बल है। ऐसा नहीं लगता कि बैकअप और पुनर्स्थापना इस कार्यक्रम में अच्छी तरह से है कि स्क्रिप्टिंग एक विकल्प नहीं है। – Eniola

5

यहाँ कुछ विकल्पों पर सोचने के लिए (मैं क्या सिफारिश करेंगे के मामले में प्राथमिकता के आधार पर) हैं: -

  • एक साधारण बैकअप और पुनर्स्थापना सबसे आसान और त्वरित समाधान हो जाएगा;
  • डेटा स्क्रिप्टिंग टूल का उपयोग करना (जैसे रेड-गेट की डेटा तुलना) आपकी आवश्यकताओं को हल कर सकता है;
    • विजुअल स्टूडियो के हिस्से के रूप में डेटाबेस तुलना का उपयोग करें।
  • दो उदाहरणों के बीच डेटा को आगे और आगे पंप करने के लिए एक एसएसआईएस पैकेज विकसित किया जा सकता है; या
  • पहचान के लिए SET IDENTITY INSERT ON/OFF आदेश का उपयोग वरीयता प्राप्त टेबल
+0

मैं मानता हूं कि एक स्क्रिप्टिंग टूल आमतौर पर सबसे अच्छा विकल्प होता है। रेड-गेट और अन्य प्रदाताओं ने निश्चित रूप से थोड़ी देर के लिए उस अंतर को भर दिया। बस यह उल्लेख करने के लिए सोचा कि एसएसएमएस अब ठीक काम करता है (हालांकि जेनरेटेड एसक्यूएल वैल्यूज क्लॉज को चेन करके बेहतर हो सकता है)। – Eniola

60

किसी कारण एक बैकअप/बहाल आप के लिए काम नहीं करेगा, SSMS 'उत्पन्न अगर स्क्रिप्ट उपकरण शामिल करने के लिए एक उन्नत पटकथा विकल्प भी शामिल है स्वयं अपनी स्क्रिप्ट लिखें डेटा:

enter image description here

+12

+1। एसएसएमएस 2012 में इस मेनू को पाने के लिए, डेटाबेस -> कार्य -> ​​स्क्रिप्ट जेनरेट करें पर राइट क्लिक करें। –

1

मैं mysql में चीजों के इन प्रकार के लिए Navicat प्रीमियम का उपयोग करें। यह डेटा, टेबल, विचार और कुछ और से एसक्यूएल उत्पन्न करता है। यह विभिन्न सर्वर या प्लेटफॉर्म पर एक डेटाबेस से तालिका की प्रतिलिपि बनाने या सिंक्रनाइज़ करने के लिए टूल प्रदान करता है। उदाहरण के लिए, मैं इसे पर इतना उपयोग करता हूं कि मेरी टेबल को MySQL से SQLite डेटाबेस पर स्थानांतरित करें, इतना आसान और तेज़। अन्यथा मुझे इसे बहुत परेशानी के साथ मैन्युअल रूप से स्थानांतरित करना पड़ा।

बहुत अच्छा टूल और किसी भी डीबी व्यवस्थापक या प्रोग्रामर के लिए आवश्यक है। यह MySQL, ओरेकल, एमएस एसक्यूएल सर्वर, PostgreSQL और SQLite का समर्थन करता है।

+0

नेविटैट ने एक एसक्यूएल सर्वर डीबी से एक निर्यात निर्यात तालिका और संरचना का काम किया।मैंने एसक्यूएल सर्वर प्रबंधन स्टूडियो का उपयोग करके सामान्य निर्यात की कोशिश की लेकिन यह त्रुटि को बरकरार रखा - उपयोगकर्ता के साथ अनुमति की कुछ समस्या मुझे उपयोग करने के लिए कहा गया था। – Lanceomagnifico

0

यदि आप सभी टेबल डेटा पोर्ट नहीं करना चाहते हैं (उदाहरण के लिए आपको विशेष टेबल में केवल कुछ बेस डेटा पोर्ट करना होगा) स्क्रिप्टिंग विकल्प आपके लिए उपयोगी नहीं हैं। इस मामले में आपके पास दो विकल्प होंगे। सबसे पहले कुछ तीसरे पक्ष के उपकरण जैसे कि रेड-गेट और दूसरा तरीका स्क्रिप्ट लिख रहा है, का उपयोग कर रहा है। मैं दूसरा विकल्प पसंद करता हूं क्योंकि उनमें से अधिकतर की महंगी कीमत को छोड़कर मैं थोड़ा हटाना, अद्यतन और उद्देश्य डालने के लिए केवल छोटी लिपि चलाने के लिए चाहता हूं। लेकिन महत्वपूर्ण समस्या यहां है: शायद रिकार्ड गिनती रिकॉर्ड द्वारा स्क्रिप्ट रिकॉर्ड लिखने में बहुत लंबा है। मुझे लगता है कि जुड़ा हुआ सर्वर हल करने के लिए अच्छा बिंदु है। जैसा कि आप छवियों में देखते हैं और बस अपने स्रोत डीबी में नई स्क्रिप्ट प्राप्त करते हैं और स्रोत और गंतव्य डीबी दोनों के उपयोग के साथ स्क्रिप्ट लिखते हैं, बस लिंक किए गए सर्वर को घोषित करने के लिए पर्याप्त है। संलग्न छवि स्पष्ट होना चाहिए।

Create New Linked Server: 

enter image description here

Write Destination SQL Server Address: 

enter image description here

Fill Login Info: 

enter image description here

Now you have Linked Server: 

enter image description here

Write script and enjoy: 

enter image description here

आशा इस मदद करते हैं।

+0

आपकी विधि काम करते समय, यह निश्चित रूप से इसके बारे में जाने का एक कठिन और ठोस तरीका है। और यह आपके सुरक्षा विचारों के सतह क्षेत्र को बढ़ाता है। – Eniola

+0

@ एनीओला आप सही हैं। मैं नहीं कहता कि यह सबसे अच्छा तरीका है। मैंने अभी एक और तरीके से बात की है जिसका हम स्कीमा और डेटा के बारे में विश्वास पर अधिक नियंत्रण कर सकते हैं। सामान्य स्थिति में मैं SQL सर्वर जेनरेट स्क्रिप्ट का उपयोग करूंगा लेकिन दुर्लभ मामलों में विशेष रूप से जब मैं एक डीबी से दूसरे डेटा को पोर्ट करना चाहता हूं तो मैं इस तरह से पसंद करता हूं। आपकी सूचना के लिए धन्यवाद। – QMaster

1

डेटा के साथ एक स्कीमा उत्पन्न करने के लिए इन चरणों का पालन करें।

  • एक स्कीमा '>' सही 'पर क्लिक करें'> 'कार्य'> 'स्कीमा उत्पन्न'> 'पॉप अप विंडो'> '
  • चयन डीबी वस्तु में अगला क्लिक करें स्कीमा उत्पन्न करने के लिए और अगला क्लिक करें उत्पन्न करने के लिए डेटाबेस का चयन करें > '
  • जाओ विकल्प अग्रिम करने के लिए और नीचे स्क्रॉल'> '
  • स्क्रिप्ट के लिए डेटा के प्रकार का पता लगाएं और एक विकल्प का चयन के रूप में आप की जरूरत है। '>' और उसके बाद अगला अगला और इसे खत्म करें।
  • इसका आनंद लें।

As in image

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