ব্যাক আপ নেওয়া এবং 10-20 এসকিউএল সার্ভার ডাটাবেসগুলিকে একটি সিঙ্ক্রোনাস অবস্থায় পুনরুদ্ধার করবেন?


15

আমি অনলাইনে থাকাকালীন এবং একক এন্টারপ্রাইজ অ্যাপ্লিকেশন দ্বারা একযোগে ব্যবহৃত হওয়ার সময় আমাকে 10-50 জিবি-র আকারের সাথে 10-20 এসকিউএল সার্ভার ২০০৮ আর 2 ডাটাবেসগুলি ব্যাকআপ করতে হবে। আমার এগুলি এমন একটি স্থানে পুনরুদ্ধার করা দরকার যা সমস্ত ডাটাবেস জুড়ে মূলত সিঙ্ক্রোনাইজ করা হয় (আমি ডাটাবেসের মধ্যে কয়েক সেকেন্ড অবধি বহন করতে পারি)। উদ্দেশ্য QA / DEV পরিবেশের জন্য উত্পাদন ডেটা ক্যাপচার।

আমি পুরোপুরি পুনরুদ্ধারে চালিত ডাটাবেসগুলির দাবি না জানাতে এবং একটি ব্যাকআপ পদ্ধতি নিয়ে আসতে চাই যা QA পরিবেশের জন্য ডেটা ক্যাপচার করতে উত্সর্গীকৃত এবং একটি প্রধান ব্যাকআপ প্রক্রিয়া যা আমার নিয়ন্ত্রণাধীন নয় তার থেকে আলাদা থাকে।

আমার গ্রাহকদের জন্য, প্রতিটি প্রতি 30 গিগাবাইটে 20 টি সম্পূর্ণ ব্যাকআপ ক্যাপচার করতে 1-2 ঘন্টা সময় লাগবে। এটি পুরো ব্যাকআপগুলি ক্রমানুসারে অগ্রহণযোগ্য করে তোলে কারণ সহজ পুনরুদ্ধারে চলাকালীন ডেটাবেসগুলি খুব বিচ্ছিন্ন হয়ে যায়।

আমি এইগুলির চেয়ে আরও ভাল ধারণা খুঁজছি:

আইডিএ 1: ভিএম ডিস্কগুলির সান স্তরের স্ন্যাপশট। স্ন্যাপশট থেকে xcopy MDFs / LDFs।

একবার অনুলিপি করা ফাইলগুলি অন্য কোনও সার্ভারের উদাহরণের সাথে সংযুক্ত হয়ে গেলে, এর পুনরুদ্ধার প্রক্রিয়াটি এমন একটি ধারাবাহিক ডাটাবেস তৈরি করতে পারে যা একই সাথে স্ন্যাপশট are
আশেপাশে গুগল করানো আমাকে বোঝায় এটি একটি খারাপ ধারণা, কমপক্ষে কারণ আমি দেশী বনাম মাস্টার / এমএসডিবি / ইত্যাদি পেতে পারি।

আইডিএ 2: একটি জটিল ব্যাকআপ অর্কেস্টেট করুন এবং সমস্ত ডাটাবেস জুড়ে সিঙ্ক-পুনরুদ্ধার করুন

এটির জন্য আমার পুরো পুনরুদ্ধারে চালিত ডাটাবেসগুলির দাবি করা দরকার, যা আমি চাই না। সময়সীমা (T0) এর আগে সমস্ত ডাটাবেসের জন্য সমান্তরাল ব্যাকআপগুলি শুরু করুন। একবার T0 পৌঁছে গেলে, সমস্ত লগ ব্যাকআপ করুন (সর্বাধিক কয়েক মিনিট সময় নেওয়া উচিত)। ব্যাকআপগুলির ফলে অগণিত ফলাফল নিন এবং সেগুলি টি-এর সাথে সম্পর্কিত, ডাটাবেসগুলিতে কিছুটা সামঞ্জস্যপূর্ণ রাষ্ট্র প্রাপ্ত করতে লগগুলি সামনের / পিছনে পুনরুদ্ধার করার চেষ্টা করুন।
এটি নির্ভরযোগ্যভাবে ব্যবহার করতে অনেক পরিকল্পনা এবং স্ক্রিপ্টিং প্রয়োজন তাই এটি এড়াতে আমি অনেকদূর যেতে পারি।

আমি কি অন্য কোনও সমাধান মিস করছি?

পিএস 1: আমি ডিবি স্ন্যাপশট ব্যবহার করতে সক্ষম হতে পছন্দ করতাম । প্রতিটি ডিবিতে স্ন্যাপশট শুরু করার ধারণাটি ছিল (যা কয়েক সেকেন্ডের বেশি হওয়া উচিত), তারপরে নিম্নলিখিত মিনিট / ঘন্টা ধরে প্রতিটি ক্রমানুসারে সম্পূর্ণরূপে ব্যাকআপ নিন। তারপরে তাদের সকলকে একটি আলাদা সার্ভারে পুনরুদ্ধার করুন এবং প্রত্যেকে স্ন্যাপশটে ফেরৎ দিন। আফাইক এই দৃশ্যটি সম্ভব নয় কারণ ডাটাবেস সহ স্ন্যাপশটগুলি ব্যাক আপ করা যায় না। এগুলিকে কেবল যেখানে সার্ভার তৈরি করা হয়েছিল সেখানে স্থানে ফিরিয়ে আনা যায়। তদতিরিক্ত, তাদের এন্টারপ্রাইজ সংস্করণ প্রয়োজন যা আমার কাছে সমস্ত গ্রাহকের জন্য নেই।

পিএস 2: যদি আপনি কোনও 3 য় পক্ষের সমাধান ক্রস-ডিবি সিঙ্ক্রোনাইজড ব্যাকআপ তৈরি করতে সক্ষম জানেন তবে দয়া করে এটি উল্লেখ করুন।


এর সংস্করণটির সাথে এই দৃশ্যের জন্য এসকিউএল সার্ভারের সংস্করণ কী? এবং প্রায় আমরা এখানে ডাটাবেস আকার বলতে হয়?
কেএএসকিউএসএলডিবিএ

উত্তর:


12

আমাকে একক এন্টারপ্রাইজ অ্যাপ্লিকেশন দ্বারা একযোগে ব্যবহৃত 10-20 এসকিউএল সার্ভার ডিবিএসের ব্যাকআপ নিতে হবে, তারা অনলাইনে থাকাকালীন, এমনভাবে যাতে সেগুলি এমন অবস্থায় ফিরিয়ে আনতে পারে যেগুলি সমস্ত ডিবিএসের সাথে সংশ্লেষিত হয়

আপনি যা সন্ধান করছেন তা হ'ল আপনার সমস্ত গ্রাহক ডাটাবেসগুলিতে একটি সামঞ্জস্যপূর্ণ ব্যাকআপ, আপনার সাথে পুরো ব্যাকআপগুলিও ব্যবহার করা উচিত Marked Transactions(গা bold ় জোরে জোর দেওয়া):

আপনি যখন দুটি বা ততোধিক ডেটাবেস, সম্পর্কিত ডাটাবেসগুলিতে সম্পর্কিত আপডেটগুলি করেন , আপনি লজিক্যাল সুসংগত পয়েন্টে এগুলি পুনরুদ্ধার করতে লেনদেনের চিহ্নগুলি ব্যবহার করতে পারেন । তবে, এই পুনরুদ্ধারটি পুনরুদ্ধার পয়েন্ট হিসাবে ব্যবহৃত চিহ্নের পরে প্রতিশ্রুতিবদ্ধ যে কোনও লেনদেন হারায়। আপনি যখন সম্পর্কিত ডেটাবেসগুলি পরীক্ষা করছেন বা আপনি যখন সম্প্রতি প্রতিশ্রুতিবদ্ধ লেনদেনগুলি হারাতে চান তখনই লেনদেন চিহ্নিত করা উপযুক্ত।

এখানে চিত্র বর্ণনা লিখুন

নিশ্চিত হয়ে নিন যে আপনি অ্যাডহক লেনদেনের লগ ব্যাকআপটি গ্রহণ করেছেন COPY_ONLY, অন্যথায় আপনার পুনরুদ্ধার ব্যথা হতে পারে, যেহেতু কোনও অ্যাডহক লেনদেন লগ ব্যাকআপ COPY_ONLYলগ চেইনটি ভেঙে দেবে। সতর্কতা হিসাবে, আপনি কেবল ব্যাকআপ ব্যবহার COPY_ONLY করতে ব্যবহারকারীদের সীমাবদ্ধ করতে পারেন

এসকিউএল সার্ভার সংস্করণ ২০০৮ আর ২ এবং তার পরে এর সমাধান আমার দরকার। ডিবি মাপগুলি প্রতি ডিবিতে 50 গিগাবাইট পর্যন্ত হয় এবং সেগুলি সমস্ত ব্যাকআপ করার সময় সম্ভবত 1-2 ঘন্টারও বেশি হয়ে থাকে।

চিহ্নিত পরিস্থিতি আপনার অবস্থার জন্য কাজ করবে। সমান্তরাল ব্যাকআপগুলি তৈরি করার একমাত্র জিনিস STRIPEতাদের কাছে, তবে তারপরে আপনি নিশ্চিত হয়ে নিন যে আপনি ব্যাকআপের স্ট্রাইপগুলি হারাবেন না। এগুলিকে আরও দ্রুত করতে, আপনি BUFFERCOUNTএবং এর সাথে খেলতে পারেন MAXTRANSFERSIZE

আপনার ব্যাকআপ সংক্ষেপণের পাশাপাশি তাত্ক্ষণিক ফাইলের সূচনা সক্ষম করা উচিত ।

নির্দেশ করে


1
কেবলমাত্র একটি ছোট নোট, not usingব্যাকআপ সংক্ষেপণ ব্যাকআপগুলিকে আরও বেশি গতি দিতে পারে ... যদি আপনার কাছে এটির জন্য সঞ্চয় স্থান থাকে।

4
ধীর স্টোরেজে, আমি সন্দেহ করি যে সংকোচনের ওভারহেড ন্যায্যতার চেয়ে বেশি হবে, যেহেতু আই / ও-তে সময় সাশ্রয় করা সময় সিপিইউতে অতিরিক্ত সময় ব্যয় করবে। দ্রুত স্টোরেজে, সংক্ষেপণের সুবিধাগুলি স্টোরেজ স্পেসে অনেক বেশি ভারী হয় we
অ্যারন বারট্র্যান্ড

@ শ্যাশনমেল্টন আমি আপনার সাথে একমত হব, তবে ব্যাকআপগুলি স্থানান্তর করার সময়, সংকোচিত ব্যাকআপগুলি স্থানান্তর করতে আরও দ্রুত হবে। ব্যাকআপগুলি সংক্ষেপণ ছাড়াই দ্রুত হবে (স্টোরেজ সাবসিস্টেমের উপর নির্ভর করে) তবে কম্প্রেশন থেকে প্রাপ্ত লাভের কথা চিন্তা করে, আমি আমার পরিবেশে এটি চালু করার প্রবণতা রাখি।
কিন শাহ

@ কিন, আমি মনে করি না এম-লেনদেন এখানে একটি সমাধান কারণ: ক) ব্যাকআপ নেওয়া হয়েছিল তার চেয়ে আলাদা সার্ভারে কাজ করার জন্য তারা ডিজাইন করে বলে মনে হয় না। কিছু লগমারকিস্তোরিতে সারিগুলি পুনরুদ্ধার করে এর আশেপাশে পৌঁছেছিল তবে আমি অনাবন্ধিত আচরণ ব্যবহার করতে পারি না। খ) এম-লেনদেনের জন্য সমর্থন যোগ করার জন্য আমি আমার অ্যাপ্লিকেশনটির কোডটি পরিবর্তন করতে পারি না। আমার আমার ব্যাকআপ স্ক্রিপ্টগুলি থেকে বিশেষ এম-লেনদেন শুরু করা দরকার এবং যদি আমি সঠিকভাবে বুঝতে পারি তবে চিহ্নের চেয়ে পুরানো প্রতিশ্রুতি না দেওয়া পর্যন্ত তারা সমস্ত নতুন লেনদেন বন্ধ করে দেবে। এটি অ্যাপের প্রাপ্যতাটিকে প্রভাবিত করে যা একটি বড় স্টপার।
বোগদান

3
আপনি এখানে যা জিজ্ঞাসা করছেন এটি কিছুটা অস্পষ্ট হয়ে উঠছে। প্রথমে আপনার পুরো পুনরুদ্ধারে একটি পরিবেশ রয়েছে, তারপরে আপনার নিজস্ব ব্যাকআপ কৌশল সহ প্রতিটি বেশ কয়েকটি ক্লায়েন্ট রয়েছে। আপনি অ্যাপ্লিকেশন স্তরটি পরিবর্তন করতে চান না, আপনি কোনও এসকিএল ব্যাকআপ নিতে চান না, এবং কোনও ব্লক স্তরের প্রতিলিপি চান না, তবুও আপনি কোনও সমাধানের প্রত্যাশা করছেন। প্রয়োজনীয়তাগুলি প্রকৃত 'কাজ' জড়িত এমন সমস্ত কিছুকে প্রত্যাখ্যান করে। দুর্ভাগ্যক্রমে আমাদের কাছে একটি ম্যাজিক.স্ট্যাকেক্সেঞ্জ ডটকম ওয়েবসাইট নেই।
টম ভি - topanswers.xyz

7

আপনি যদি পুরো ব্যাকআপের পাশাপাশি ট্রানজেকশন লগ ব্যাকআপগুলি চালিয়ে যাচ্ছেন (এবং আপনার এই ডেটাটিকে গুরুত্বপূর্ণ মনে করা উচিত) আপনি কেবলমাত্র ব্যাকআপগুলি এবং লেনদেন লগ ব্যাকআপগুলি পরীক্ষা সিস্টেমে অনুলিপি করতে পারেন এবং ডাটাবেসগুলিকে পুনরুদ্ধারে পুনরুদ্ধার করতে সময় পয়েন্ট করতে পারেন + - একই সময়।

সমস্ত ডাটাবেস একই এসকিউএল সার্ভার মেশিনে থাকে কিনা বা সার্ভারের ঘড়িগুলি কতটা সুসংগত হয় তার উপর নির্ভর করে আপনার 'কয়েক সেকেন্ডের ডিসাইনক্রোনাইজেশন' টার্গেটের সাথে মিল রাখতে সক্ষম হওয়া উচিত।

এটি একটি ব্যান্ড-সহায়তা সমাধানের কিছুটা হতে পারে তবে প্রয়োজনীয়তাগুলি পূরণ করে এবং মোটামুটি সহজ এবং ব্যয়বহুল।

আপনার গুরুত্বপূর্ণ ডেটাবেসগুলি (যা পুরো পুনরুদ্ধারে রয়েছে) থেকে পুরো ব্যাকআপ এবং লেনদেন লগ ব্যাকআপ না থাকলে আপনার সত্যিকার অর্থে আপনার ব্যাকআপ কৌশলটি সংশোধন করা দরকার। SAN স্তরের স্ন্যাপশটগুলি পুরো পুনরুদ্ধার মোডে একটি ডাটাবেস থাকার বিন্দুটিকে সত্যই সত্য করে দেয় কারণ আপনি যেভাবে কোনওভাবে পুনরুদ্ধার করতে সময় পয়েন্ট করতে পারবেন না।

মিঃ ডেনির এটি সম্পর্কে কী বলার আছে তা দয়া করে পড়ুন



1

আপনি যে পরিস্থিতিতে ইঙ্গিত করেছেন সে পরিস্থিতিতে আপনি কি তৃতীয় পক্ষ বা মাইক্রোসফ্ট ভিত্তিক কোনও ভিএসএস সরবরাহকারীর মাধ্যমে ভিএসএস ব্যাকআপের দিকে নজর দিয়েছেন? আপনি এমন একটি COPY_ONLY ব্যাকআপ সঞ্চালন করতে পারেন যা আপনার উত্পাদন পুনরুদ্ধারের শৃঙ্খলা ভঙ্গ করবে না এবং আপনার যুক্তিসঙ্গত মার্জিনের মধ্যে অন্য যে কোনও ডাটাবেস পুনরুদ্ধার করতে পারবেন এমন সমস্ত ব্যাকআপের সাথে শেষ করা উচিত। মনে রাখবেন যে একটি ভিএসএস ব্যাকআপের ডেটাবেস স্ন্যাপশটের মতো একই পদ্ধতি এবং অবক্ষয় রয়েছে যাতে খুব সক্রিয় ডাটাবেস ব্যবহৃত স্পার ফাইলগুলির কারণে ডিস্ক স্পেসের সমস্যা তৈরি করতে পারে। এখানে এসকিউএল রাইটার পরিষেবাতে টেকনেট সংস্থান এবং এসকিউএল সার্ভারের ভিএসএস ব্যাকআপগুলি এখানে দেখুন

উইন্ডোজ সার্ভার ব্যাকআপের মাধ্যমে এটি করার জন্য আপনি ম্যানুয়াল ব্যাকআপের জন্য উইজার্ড পদক্ষেপগুলি অনুসরণ করবেন তা নিশ্চিত করে যে আপনি ভিএসএস সেটিংসের অধীনে কাস্টম কনফিগারেশন সেটিংসে ভিএসএস কপি ব্যাকআপ নির্বাচন করেছেন। এটি আপনার উইন্ডোজ সার্ভারের ব্যাকআপটিকে সার্ভারে নেওয়া অন্য কোনও ব্যাকআপগুলিতে হস্তক্ষেপ না করার অনুমতি দেবে। দেখুন উইন্ডোজ সার্ভার ব্যাকআপ রেফারেন্স বিস্তারিত জানার জন্য।


আমি ভিপিএসকে হাইপারভাইজার / স্যান পর্যায়ে ডিস্ক স্ন্যাপশট নেওয়ার বিকল্প হিসাবে বিবেচনা করেছি। আমি সহজ পুনরুদ্ধার ব্যবহার করে গ্রাহকদের জন্য আমার সমাধানগুলিতে (এখন অতিরিক্ত উত্তর হিসাবে পোস্ট করা) এই কেসগুলি অন্তর্ভুক্ত করেছি।
বোগদান

1

আমি @ কিন এর উত্তর হিসাবে ভোট দেব কারণ প্রশ্নটি যা জিজ্ঞাসা করেছিল তার সাথে এটিই প্রথম মিলছিল। আমি একটি অতিরিক্ত উত্তর খুঁজে পেয়েছি এবং আমি নীচে এটি বর্ণনা করব।

সাধারণ পুনরুদ্ধারের মডেল ব্যবহারকারী গ্রাহকদের জন্য আমার হাইপারভাইজার বা এসএএন স্তরে টি 0-তে তোলা অস্থায়ী ডিস্ক স্ন্যাপশট থেকে এমডিএফ এবং এলডিএফগুলি অনুলিপি করা দরকার। আমি এগুলি টি 0 থেকে রাজ্যে ডিবিএস পুনরুদ্ধার করতে ব্যবহার করতে পারি।

সম্পূর্ণ পুনরুদ্ধার মডেল ব্যবহারকারী গ্রাহকদের জন্য আমার প্রয়োজন হয়:

  • T0 কভার করে পরবর্তী লেনদেন লগ ব্যাকআপগুলির ন্যূনতম চেইনের আগে সম্পূর্ণ তাদের সম্পূর্ণ ব্যাকআপের MAIN ব্যাকআপ প্রক্রিয়া থেকে অনুলিপিগুলি। আমি তখন টি-তে সময় পুনরুদ্ধারে একটি পয়েন্ট সম্পাদন করতে পারি।

  • আমার নিজের সহায়ক COPY_ONLYব্যাকআপগুলি সম্পাদনের অ্যাক্সেস । আমি তাদের সকলকে টি-তে সমান্তরালভাবে শুরু করব, যা কয়েক সেকেন্ডের বেশি সময় নেয় না এবং এটি আমার প্রথম 1 উদ্বেগ ছিল। তারপরে, পুনরুদ্ধার করার সময়, আমি প্রতিটি ব্যাকআপ থেকে ফার্স্টএলএসএন-তে পুনরুদ্ধারের সময় পয়েন্ট করব । এর সৌন্দর্যটি হ'ল এটির মূল ব্যাকআপ প্রক্রিয়াটির সাথে আমার মোটামুটি ইন্টারঅ্যাক্ট করার প্রয়োজন হয় না, যা আমার অন্যান্য উদ্বেগ ছিল, তারা এমনকি লগগুলি ছাঁটাই করতে পারে যখন আমার COPY_ONLYব্যাকআপগুলি তাদের সংগতি প্রভাবিত না করে চলমান।


0

আমি QA এবং অন্যান্য পরিবেশের জন্য যা প্রতিলিপি হ'ল এক বছরে কয়েকবার করি। পুনরুদ্ধার করার জন্য, পুরো পুনরুদ্ধার মোডটি সত্যই প্রয়োজনীয় এবং সময়ের সাথে এক পর্যায়ে পুনরুদ্ধার করা ভাল কাজ করে। এখানেও অনেকগুলি প্রতিলিপি রয়েছে এবং এটি বিরল যে আমাদের সময়ে একটি বিন্দুতে পুনরুদ্ধার করার পরে ত্রুটিগুলি 'সন্ধান পাওয়া যায়নি' have আমরা ভৌগলিকভাবে দূরত্বের অনুলিপি তৈরির জন্য সান ক্লোন / স্ন্যাপশট পদ্ধতিটি ব্যবহার করি এবং এটি ডেটাবেসগুলি সিঙ্ক্রোনাইজ করার জন্যও ভাল কাজ করে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.