क्या sql-server में डेटाबेस का हिस्सा बैकअप और रीस्टोर करना संभव है?


19

हमारे पास एक sql-server 2005 डेटाबेस है जिसे हम नियमित रूप से अपने क्लाइंट साइट से हमारे पास स्थानांतरित करते हैं। इसमें एक लंबा समय लगता है क्योंकि हमारे पास कोई सीधा संबंध नहीं है और फ़ाइल को उनके वेब आधारित फ़ाइल स्थानांतरण एप्लिकेशन पर स्थानांतरित करना होगा। डेटाबेस वर्तमान में लगभग 10GB है, लेकिन हमें सभी डेटा की आवश्यकता नहीं है - इसका अधिकांश लेखा परीक्षा तालिकाओं और तालिकाओं में है जो गणना किए गए मानों को रखते हैं जो फिर से उत्पन्न हो सकते हैं।

मैंने ऑडिट टेबल रखने के लिए एक फाइलग्रुप बनाने पर ध्यान दिया है और उम्मीद कर रहा था कि मैं सिर्फ बैकअप ले सकता हूं और प्राथमिक फाइलग्रुप को पुनर्स्थापित कर सकता हूं। मैं ठीक बैकअप कर सकता हूं, लेकिन जब मुझे यह कहते हुए एक त्रुटि मिलती है कि मैं इसे उसी डेटाबेस में पुनर्स्थापित नहीं कर रहा हूं। क्या फ़ाइलग्रुप्स का उपयोग करके किसी डेटाबेस के एक हिस्से को एक अलग सर्वर पर पुनर्स्थापित करना संभव है? क्या ऐसा करने के लिए इससे अच्छा तरीका है?


1
आप इस प्रश्न को पढ़ने से लाभान्वित हो सकते हैं: SQL सर्वर और विशेष रूप से ब्रेंट के उत्तर के साथ सबसे छोटा बैकअप संभव है
मैरियन

चूंकि यह बहुत अधिक हैकरी के बिना संभव नहीं लगता है, मेरा मानना ​​है कि हम सभी ऑडिट लॉग टेबल को एक अलग डेटाबेस में ले जा सकते हैं
एडम बटलर

क्या इसके लिए आवेदन में कोड परिवर्तन की आवश्यकता नहीं होगी? यह क्लाइंट से गुजरने के लिए कहने के लिए थोड़ा बहुत है।
शॉन मेल्टन

जवाबों:


15

ईमानदार होने के लिए, यह सबसे आसान है:

  • बैकअप / स्थानीय रूप से कॉपी को पुनर्स्थापित करें
  • कॉपी से अवांछित डेटा हटाएं (DELETE या TRUNCATE टेबल के साथ, DROP नहीं ...)
  • प्रतिलिपि बनाएँ

मैं जोड़ा जटिलता की वजह से filegroups के साथ परेशान नहीं होगा ...


1
मेरा सुझाव है कि इस नए बहाल डेटाबेस को सरल रिकवरी मॉडल में बदलना। msdn.microsoft.com/en-CA/library/ms189272.aspx
डेटागोड

7

जिस तरह से आप केवल प्राथमिक फ़ाइल समूह की आवश्यकता के बारे में बात करते हैं, यह मुझे ऐसा लगता है कि आप केवल डेटाबेस संरचना और बहुत कम मात्रा में डेटा चाहते हैं। मेरा सुझाव है कि यदि आप डेटाबेस संरचना (ऑब्जेक्ट्स, टेबल आदि) का अपडेट चाहते हैं, तो बस डेटाबेस को सभी ऑब्जेक्ट्स के साथ स्क्रिप्ट करने के लिए। यह PowerShell के साथ जल्दी और आसानी से किया जा सकता है।

तब डेटा की आपको वास्तव में आवश्यकता होती है, जिसे पुनर्जीवित नहीं किया जा सकता है, बस इसे निर्यात करें (एक PowerShell स्क्रिप्ट ऐसा भी कर सकती है)। मुझे यकीन है कि निर्यात फ़ाइल को फिर से एक छोटे आकार में संकुचित किया जा सकता है और फिर आपकी साइट के कनेक्शन पर स्थानांतरित किया जा सकता है।

निश्चित रूप से इस तरह, एक @ सुझाव को स्क्रिप्ट किया जा सकता है, इसलिए यह निर्धारित करना कि कौन सा विकल्प आपको कम से कम समय लगता है।


2

यह संभव है कि टुकड़े टुकड़े को बहाल करना । स्रोत डेटाबेस की वस्तुओं और फ़ाइल समूह को इस तरह से व्यवस्थित किया जाना चाहिए जो इसका समर्थन करता है। RESTORE को अतिरिक्त विशिष्ट कीवर्ड की आवश्यकता होती है।

जबकि अवधारणा का उपयोग करने में थोड़ा समय लग सकता है, लागू करने के लिए स्क्रिप्टिंग की मात्रा सुझावित अन्य समाधानों से अधिक नहीं है।


-1

राइट क्लिक करें और स्क्रिप्ट जेनरेट करें, फिर डेटाबेस का नाम बदलकर लक्ष्य (USE db) करें।

यहाँ समझाया गया


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