2008-11-17 7 views
7

this question पर एक फॉलोअप के रूप में मैं सोच रहा हूं कि आपका SQL सर्वर बैकअप/रखरखाव योजना क्या है, और मैं अपना बेहतर कैसे बना सकता हूं।आपका SQL सर्वर बैकअप/रखरखाव योजना क्या है?

वर्तमान में मैं योजना विज़ार्ड से दो सादा-जेन रखरखाव योजना चला रहा हूं।

पहले रन रात

और बस सब कुछ के बारे में है ...

  • पूर्ण डेटाबेस और लेनदेन लॉग बैकअप
  • अखंडता की जांच, पुनर्निर्माण सूचकांक, पुन: परिकलन सांख्यिकी, आदि (मैं वृद्धिशील बैकअप के अलावा सब कुछ जाँच)

दूसरा तीन घंटे चलता है और एक वृद्धिशील बैकअप करता है (मैं पागल हूं, मुझे पता है कि यह शायद अधिक है)।

बैकअप डिस्क पर हैं, पूर्ण बैकअप SAN को भेजे जाते हैं, जो एक सप्ताह तक बनाए रखा जाता है।

आपको क्या लगता है, क्या यह एक समझदार योजना है? कोई सुझाव?

संपादित करें: यह SQL सर्वर 2005 है। डीबी 5 जीबी है, लगभग 1 जीबी/माह बढ़ता है।

उत्तर

7

बहुत अच्छा लगता है। मैं और अधिक भयावह हूँ। मैं दो दैनिक पूर्ण बैकअप और प्रति घंटा लेनदेन लॉग बैकअप करता हूं। डेटाबेस या पाठ्यक्रम के आकार पर निर्भर करता है। बैकअप सीधे डिस्क पर किए जाते हैं और फिर रात को टेप तक बैक अप लेते हैं।

आपको शायद हर दिन रखरखाव कार्यों को करने की आवश्यकता नहीं है। मैं केवल सप्ताहांत पर ही करता हूं, इस तालिका को छोड़कर हम हर रात फिर से रेन्डेक्स करते हैं। फिर यह डेटाबेस के आकार और गतिविधि पर निर्भर करता है।

यदि आपके पास पर्याप्त सीपीयू और डिस्क स्पेस है तो आप अंतरिक्ष को बचाने के लिए डिस्क बैकअप को ज़िप कर सकते हैं और टेप या अन्य स्थान को तेज़ी से स्थानांतरित कर सकते हैं।

2

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

3

आप अपने उपयोगकर्ताओं/ग्राहकों के साथ बात कर किया जाना चाहिए/डेटा संरक्षक - जो भी आप उन्हें बुलाते हैं। उन्हें स्पष्ट रूप से समझने की आवश्यकता है कि वे कितना काम खो सकते हैं। यदि आपके पास कोई एसएलए नहीं है तो एक एसएलए लिखें। बुरी खबरों के बारे में आपको कोई आश्चर्य नहीं चाहिए।

उन्हें यह भी समझने की आवश्यकता है कि बहाल करने में समय लगता है। स्वीकार्य पुनर्स्थापना समय बनाने के लिए आपको अपनी पुनर्प्राप्ति योजना की योजना बनाने की आवश्यकता है। इसका मतलब दैनिक पूर्ण बैकअप, 4 अंतर और प्रत्येक 5 मिनट में लॉग बैकअप हो सकता है। यह पागल या पागल नहीं है क्योंकि मार्कस एरिक्सन ने कहा - यह सब आपकी जानकारी के लिए आता है और आपके संगठन द्वारा डॉलर के मूल्य पर मूल्य डालता है।

1

firedrills करना याद रखें जहां आप वास्तव में आपके द्वारा बनाए गए बैकअप (परीक्षण-प्रणाली में) से पुनर्स्थापित करने का प्रयास करते हैं। यह शायद महीने में एक बार किया जाना चाहिए।

1

न्यूनतम मैं अपने ग्राहकों को सलाह देता हूं कि डेटाबेस का रात का पूरा बैकअप लें और फिर प्रत्येक 3 घंटे में लेनदेन बैकअप लें। यह हमेशा मुझे आश्चर्यचकित करता है कि कितने लोग बैकअप स्थापित नहीं करते हैं। वे हमेशा बुरी कॉल होते हैं।

1

मेरी राय में सबसे अच्छा तरीका है:

पूर्ण डेटाबेस बैकअप हर 12 घंटे

BACKUP DATABASE database TO DISK = 'd:/full.bak'

एक विभेदक बैकअप हर छह घंटे बनाओ, विफलता के मामले में यह बहाल करने के लिए आसान बना देता है में प्रक्रिया

BACKUP DATABASE database TO DISK = 'd:/diff.bak' WITH DIFFERENTIAL

और, ज़ाहिर है, लेन-देन लॉग बैकअप जो एच हर घंटे बनाने के लिए बेहतर हैं।

BACKUP LOG database TO DISK = 'log.bak'

हैं विफलता के मामले वसूली प्रक्रिया अगले हो जाएगा:

  • अंतिम पूर्ण बैकअप
  • पिछले विभेदक बैकअप
  • अंतिम लेनदेन लॉग

यह स्वीकार किया जाना चाहिए कि पूर्ण वसूली मॉडल का उपयोग करना बेहतर है पॉइंट-इन-टाइम रिकवरी उपलब्ध कराने के लिए।

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