मेरे पास SQL Server 2008R2 में एक बहुत बड़ा उत्पादन डेटाबेस और एक बहुत बड़ा परीक्षण वातावरण डेटाबेस है। दोनों डेटाबेस में समान संरचना है लेकिन विभिन्न उपयोगकर्ता / लॉगिन / अनुमति / भूमिका।
मुझे महीने में लगभग एक बार, उत्पादन से समय-समय पर परीक्षण डेटाबेस में केवल कुछ तालिकाओं को ताज़ा करने की आवश्यकता होती है।
वर्तमान तरीका मैं ऐसा करने की योजना बना रहा हूं
- उत्पादन से मुझे जिन तालिकाओं की आवश्यकता है, उनका निर्यात करने के लिए BCP उपयोगिता का उपयोग करें।
- परीक्षण सर्वर पर bcp निर्यात फ़ाइल की प्रतिलिपि बनाएँ
- सभी तालिकाओं पर अनुक्रमणिका और बाधाओं को अक्षम करें मैं टेस्ट में ताज़ा हूं
- टेस्ट डेटाबेस टेबलों को काटें
- BCP का उपयोग करके डेटा को वापस परीक्षण डेटाबेस तालिकाओं में लोड करें।
- अनुक्रमणिका का पुनर्निर्माण करें और परीक्षण में बाधाओं को फिर से सक्षम करें
यह सब इतने छोटे से काम के लिए बहुत जटिल लगता है। ऐसा भी लगता है कि यह बहुत अधिक रीडो उत्पन्न करेगा (टी-लॉग में) क्या ऐसा करने का एक बेहतर तरीका है?
एक और तरीका है कि मैंने ऐसा करने के लिए परीक्षण वातावरण पर उत्पादन से एक बैकअप को पुनर्स्थापित करने के लिए सोचा है - लेकिन मेरे पास मुद्दा यह है कि एक पूर्ण बैकअप काफी बड़ा होगा और मुझे सभी तालिकाओं को ताज़ा करने की आवश्यकता नहीं है, केवल कुछ- -और भी उत्पादन डेटाबेस में उपयोगकर्ताओं और सुरक्षा परीक्षण से अलग है। यदि मैं पूरे डेटाबेस को पुनर्स्थापित करता हूं, तो उत्पादन डेटाबेस में सुरक्षा सेटिंग्स को अधिलेखित कर दिया जाएगा।