SQL 2008 पर इंस्टेंस को डुप्लिकेट करने का सबसे प्रभावी तरीका क्या है?


14

डेटाबेस में बस पर्याप्त डेटा के साथ इसे उपयोगी रखने के लिए हमें एक सरल डेटाबेस इंस्टेंस मिला है, और हम इसे प्रदर्शन उद्देश्यों के लिए उपयोग कर सकते हैं, और मैं इसकी एक प्रति अपने लैपटॉप पर रखना चाहता हूं, इसलिए जब मैं इसे देव कार्य के लिए उपयोग कर सकता हूं मैं ऑफिस में नहीं हूं। (नियमित देव डेटाबेस उदाहरण लगभग 150GB हैं, यह एक उदाहरण 3GB है)

मेरे लैपटॉप पर इंस्टेंस को फिर से बनाने के लिए सबसे अधिक दोहराने योग्य / स्क्रिप्ट करने योग्य तरीका क्या है? मुझे यकीन है कि मुझे SqlServer2008 के लिए फिर से इंस्टॉलर के माध्यम से चलना होगा, और एक उदाहरण स्थापित करना होगा, लेकिन उसके बाद ... मैं सोच रहा हूं कि मैं अपने पुराने डेटाबेस को हर महीने या तो ड्रॉप करने में सक्षम होना चाहता हूं। अपने लैपटॉप पर सभी नए सामान की प्रतिलिपि बनाएँ, क्योंकि मेरा उदाहरण किसी एक डेमो सिस्टम या लैपटॉप पर नहीं बदलेगा। लेकिन डेटाबेस खुद को अपडेट करेंगे, स्प्रोक्स और इस तरह से रिफ्रेश के साथ।

मैंने सभी "ड्रॉप डेटाबेस-फाइल्स को स्क्रिप्ट करना" माना है, डेटाबेस-फाइल्स {पाथ} जोड़ें "और उन्हें किसी प्रकार की रन करने योग्य बैच फ़ाइल में रखा जाए, और फिर मैं" ड्रॉप, डिलीट, कॉपी, ऐड "कर सकता हूं, लेकिन अगर कोई हो तो आश्चर्य होगा सिर्फ xcopy और बैच से बेहतर तरीका था?

मैं सस्ते पर यह करने की कोशिश कर रहा हूं (क्या हम हमेशा कोशिश करते हैं और सस्ते पर चीजें नहीं करते हैं) इसलिए मुझे RedGate उत्पादों या इस तरह से विशेष रूप से दिलचस्पी नहीं है। मुझे कुछ चाहिए जो मैं अपने लिए एक टेक्स्ट एडिटर में आसानी से रख सकूं।


क्या यह एक से अधिक डेटाबेस वाला एकल डेटाबेस या sql सर्वर उदाहरण है? मुझे लगता है कि आपके पास अपने लैपटॉप और विकास मशीन में sql सर्वर स्थापित है और आपके पास एक डेटाबेस है, उस स्थिति में आप बैकअप का उपयोग कर सकते हैं और पुनर्स्थापित कर सकते हैं। बैकअप डेवलपमेंट मशीन db, इसे लैपटॉप में कॉपी करें और रीस्टोर करें, इसके विपरीत ... क्या इसका कोई मतलब है?
कोडरवाक

यह SQL सर्वर एक्सप्रेस संस्करण है? या मानक? SSIS इस तरह के परिदृश्यों के लिए एक अच्छा विकल्प है, दुर्भाग्य से इसके एक्सप्रेस और वेब संस्करणों में उपलब्ध नहीं है।
कोडरहॉक

क्षमा करें @ कैंडी ~ यह एसक्यूएल देव 2008 है। मुझे एमएसडीएन के कारण, जो कुछ भी आप अनुमान लगा सकते हैं, उसके लिए बहुत अधिक उपयोग मिला है।
jcolebrand

प्रश्न शीर्षक थोड़ा भ्रामक है "एसक्यूएल 2008 पर ए | उदाहरण | डुप्लिकेट करने का सबसे प्रभावी तरीका क्या है?" - उदाहरण या डेटाबेस?
कोडरहॉक

@ कैंडी ~ "इंस्टेंस" ... वास्तव में, मैं पूरी चीज चाहता हूं।
jcolebrand

जवाबों:


4

आपने सिर पर कील ठोक ली है: फाइलों को कॉपी करें। मैंने इसे अच्छे प्रभाव के लिए इस्तेमाल किया है।

मैं कहता हूं कि आपको xcopy को शामिल करने वाले समाधान को तैयार करने के लिए समय के निवेश को शामिल करने के लिए "सस्ते" को परिभाषित करना होगा


3

उम्म, निश्चित नहीं कि अगर यह मदद करता है, लेकिन हम एक उत्पादन डेटाबेस को "साफ" करने के लिए स्क्रिप्ट का एक सेट का उपयोग कर रहे हैं और इसे विकास दुरुपयोग के लिए तैयार करते हैं। हम उन सभी बड़े तालिकाओं को ले रहे हैं जिनमें एक डेटाइम कॉलम है और हम इसमें डेटा के केवल अंतिम वर्ष के साथ तालिका का पुनर्निर्माण कर रहे हैं। लगभग 200 जीबी की एक पूर्ण डीबी से हम विकास के लिए लगभग 40 जीबी डीबी प्राप्त करते हैं। मुख्य रूप से हम प्रत्येक तालिका के लिए bcp फ़ाइलें बनाने के लिए डायनामिक स्क्रिप्ट उत्पन्न कर रहे हैं, तालिका (किसी भी संबंधित बाधाओं सहित) को पुनः बनाएँ और फिर केवल पिछले वर्ष के डेटा को सम्मिलित करें।

शायद ऐसा करने के लिए उपकरण हैं, लेकिन हमारी दुकान सस्ते हो जाती है :-)।


हाँ, हम बहुत सारे सामान के लिए बीसीपी मार्ग पर जाते हैं, इसलिए मुझे वही मिलता है जो आप कह रहे हैं, और इसमें से कुछ पर ट्रंकटिंग करना अच्छा होगा, लेकिन मेरे पास पहले से ही लगभग 3 जीबी डेटा है जो मुझे चाहिए, इसलिए मैं वास्तव में नहीं हूं वहाँ अधिक जोड़ने के लिए देख रहे हैं। मैं बस पूरे उदाहरण की प्रतिलिपि बनाना चाहता हूं और इसे बार-बार करते रहने का एक तरीका है। लेकिन अन्यथा मुझे लगता है कि मैं उसी सौदे पर हूं जो आप के बारे में बात कर रहे हैं, बस छोटा सा थैली।
jcolebrand

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

); हां कि विचार है
jcolebrand

@jcolebrand - शायद नॉर्टन घोस्ट या क्लोनज़िला जैसे उपकरण से मदद मिलेगी? आप इसे अपने खेल के मैदान पर कहीं ठिकाना बैकअप फ़ोल्डर की प्रतिलिपि बनाने की आवश्यकता होगी, तो वहाँ वापस सब मज़ा (पुनर्स्थापित ... आदि ... आदि) करते हैं। आपको प्रतिलिपि क्रियाओं को स्क्रिप्ट करने की आवश्यकता नहीं होगी और आप केवल sql भाग को संभालेंगे :)।
मैरियन

oooooh उपयोगी हो सकता है। विचार के नए रास्ते।
jcolebrand

0

उन सिस्टम से मेल खाने के लिए अपने स्कीमा को अपग्रेड करने का सबसे आसान तरीका है रेड गेट एसक्यूएल तुलना या एम्बरकार्डो डीबी चेंज मैनेजर जैसे टूल का उपयोग करना।

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

विकल्प

  1. एक 3 पार्टी उपकरण का उपयोग करें
  2. डेटाबेस बैकअप और पुनर्स्थापना - आपको डेटा को हटाने के लिए एक मचान उदाहरण को पुनर्स्थापित करने की आवश्यकता हो सकती है (लैपटॉप पर स्थान प्रतिबंध के कारण)
  3. एसएमओ का उपयोग करके अपना खुद का डेटाबेस ट्रॉटर लिखें और बस एक ऐसा काम बनाएं जो ऑब्जेक्ट्स को स्क्रिप्ट करता है, फिर हर महीने अपने स्कीमा को फिर से बनाएं / जिस समय आपको इसकी आवश्यकता हो, तब एसएसआईएस का उपयोग करके नई वस्तुओं में डेटा लोड करें।

उदाहरण के लिए "डेटाबेस बैकअप और पुनर्स्थापना" कैसे काम करता है? मैं इन तालिकाओं में डेटा रखना चाहता हूं क्योंकि यह एक पूर्ण डेटा सेट है, जो उत्पादन से छोटा है।
jcolebrand

SSIS शायद मुझे वही करने देगा जो मुझे चाहिए लेकिन मुझे इसके बारे में पर्याप्त जानकारी नहीं है। मुझे और जांच करनी चाहिए।
jcolebrand

@jcolebrand - मैंने बैकअप पुनर्स्थापना का सुझाव दिया, बस इस बात पर विचार करना होगा कि जब आप कॉलम जोड़ते हैं, तो आप अपने लाइव सिस्टम से डेटा को अपने डेमो सिस्टम में कैसे स्थानांतरित करें। हालाँकि इसमें एक और बैकअप और रिस्टोर / डिटैच और अटैच होने से पहले डेटा रिस्टोर की आवश्यकता होती है।
जॉंधाकॉस्टा
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.