2010-05-24 5 views
6

मेरे पास एक डेमो साइट है जहां कोई भी लॉगिन इंटरफ़ेस लॉगिन और परीक्षण कर सकता है।हर घंटे डेटाबेस को स्वत: पुनर्स्थापित करने का सबसे अच्छा तरीका

हर घंटे मैं SQL 2008 डेटाबेस में सभी डेटा फ़्लश करना चाहता हूं और इसे मूल से पुनर्स्थापित करना चाहता हूं।

लाल गेट सॉफ्टवेयर के लिए इसके लिए कुछ शानदार उपकरण हैं, हालांकि वे अभी मेरे बजट से बाहर हैं।

क्या मैं बस डेटाबेस की डेटा फ़ाइल की बैकअप प्रति बना सकता हूं, उसके बाद एक सी # कंसोल ऐप है जो इसे हटा देता है और मूल पर प्रतिलिपि बनाता है। तो मेरे पास हर घंटे .exe चलाने के लिए एक विंडोज शेड्यूल कार्य हो सकता है।

यह आसान और मुफ़्त है ... क्या यह काम करेगा?

मैं एसक्यूएल सर्वर 2008 R2 वेब संस्करण का उपयोग कर रहा

मैं समझता हूँ कि लाल गेट सॉफ्टवेयर क्योंकि मैं इसे सेट कर सकते हैं डाटाबेस का विश्लेषण करने के लिए और केवल रिकॉर्ड बदल दिया गया अद्यतन तकनीकी रूप से बेहतर है, और मेरे ऊपर जो दृष्टिकोण है वह "स्लेज हथौड़ा" जैसा है।

+0

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

उत्तर

9

यह आसान और मुफ़्त है ... क्या यह काम करेगा?

हाँ, आप ऐसा कर सकता है, बस अन्यथा यह बहाल करने के लिए अपने को बहाल करने से पहले एकल उपयोगकर्ता मोड में डाल करने के लिए डीबी

उदाहरण स्क्रिप्ट

USE master 
GO 

ALTER DATABASE YourDB SET SINGLE_USER WITH ROLLBACK IMMEDIATE 
GO 



RESTORE DATABASE YourDB FROM DISK=N'D:\Backup\Pristine.BAK' WITH FILE = 1, 
NOUNLOAD, REPLACE, STATS = 10 
GO 

ALTER DATABASE YourDB SET MULTI_USER 
GO 
+0

बहुत बढ़िया, मैं बस इसे हर घंटे चलाने के लिए SQL में एक नौकरी के रूप में निर्धारित किया जाएगा। धन्यवाद! – aron

1

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

+0

हाय websch01ar, हाँ, कृपया उन्हें मुझे ईमेल करें। धन्यवाद aron {at} uswebpro (period) com – aron

0

आप कर सकते थे असफल हो जायेगी याद डेटाबेस को भी अलग करें, डेटा को ओवरराइट करें और अपने टेम्पलेट से फ़ाइलों को लॉग करें (पहले अलग) और फिर पुनः संलग्न करें।

+0

सही है, लेकिन यह स्वचालित नहीं है – aron

+0

@aron इसे पुनर्स्थापित करने के समान ही स्वचालित किया जा सकता है। आप एक अनुसूचित एसएसआईएस पैकेज, xp_cmdshell का उपयोग कर एक स्क्रिप्ट, या एसक्यूएलसीएमडी के साथ एसक्यूएलसीएमडी के साथ एक बाहरी विंडोज कमांड स्क्रिप्ट का उपयोग कर सकते हैं। –

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