আরও ঘন ঘন এসকিউএল ডিবি ব্যাক আপ করা


10

আমার বর্তমানে একটি নির্ধারিত টাস্ক রয়েছে যা প্রতি রাতে 2 টা 2 মিনিটে বন্ধ হয়ে যায় যা এসকিউএলসিএমডি.এক্সিকে কল করে এবং ব্যাকআপটি চালানোর জন্য এটি একটি এসকিউএল স্ক্রিপ্টটি পাস করে (নীচে দেখানো হয়েছে)। ব্যবসায়ের দিক থেকে বড় বর্ধনের কারণে আমরা ক্রমবর্ধমান চাহিদার সাথে একটি ছোট্ট একটি সংস্থা। এই মুহুর্তে 1 দিনের ডেটা হারানোর জন্য গত বছরের এই সময় কয়েক মিলিয়ন বনাম কয়েক হাজার ব্যয় হবে। যতক্ষণ না আমি এই ডিবি প্ল্যাটফর্মটিকে অন্য কোনও সমাধানে স্থানান্তরিত করতে পারি যেখানে এসকিউএল অ্যাজুরের মতো বড় রিরানডেন্সির সাথে ডেটা মিররিং ঘটে, আমি আরও ঘন ঘন ব্যাকআপ পেতে সবচেয়ে ভাল কাজটি কী করতে পারি? নীচের এই স্ক্রিপ্টটি ডিবিটিকে অফলাইন হতে বাধ্য করে? আমি কি এই স্ক্রিপ্টটি ডিবি-র সাথে ইন্টারঅ্যাক্ট করার মাধ্যমে চালাতে পারি?

USE CompanyCRM;
GO
BACKUP DATABASE CompanyCRM
TO DISK = 'D:\CRMBackups\CompanyCRMCRM.Bak'
   WITH FORMAT,
      MEDIANAME = 'CompanyCRM_Backup',
      NAME = 'Full Backup of CompanyCRM';
GO

হালনাগাদ

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


আপনার আপডেটটিতে আমার উত্তর সম্পাদনা করেছে, আশা করি এটি সহায়তা করবে

উত্তর:


5

আপনার আপডেট থেকে সম্পাদনা করুন

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

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

ডিফারেনশিয়াল ব্যাকআপ কমান্ড:


USE CompanyCRM; 
GO 
BACKUP DATABASE CompanyCRM 
   TO DISK = 'D:\CRMBackups\CompanyCRMCRM_diff.Bak'    
WITH FORMAT, DIFFERENTIAL,
MEDIANAME = 'CompanyCRM_Backup',       
NAME = 'Full Backup of CompanyCRM'; 
GO 

1
@ শ্যাওন: ওপি বলেছে যে "এই মুহুর্তে ১ দিনের ডেটা হারিয়ে ফেলতে কয়েক বছরে কয়েক মিলিয়ন ডলার ব্যয় হবে গত বছরের এই সময়", তিনি কোথায় বলেছিলেন যে তিনি এক দিনের মূল্যবান ডেটা হারাতে পারেন ?!
মেরিয়ান

8
  • এসকিউএল সার্ভারে ব্যাকআপগুলি বিঘ্নিত নয়। অর্থাত্ ডাটাবেস সচল থাকে। ডকুমেন্টেশন পড়ুন।
  • প্রতিদিন একটি সম্পূর্ণ ব্যাকআপ করুন, তারপরে শিপড (অনুলিপি করা) এলওজি ব্যাকআপগুলি (আবার, ডকুমেন্টেশনে ... ডকুমেন্টেশন রয়েছে) আরও নিয়মিত করুন - প্রতি 15 মিনিট বা তার মতো।

4
আমি মনে করি ব্যাকআপ এমন একটি জিনিস যা আপনার প্রয়োজনের জন্য প্রয়োজন না, তবে ডকুমেন্টেশনের একটি সম্পূর্ণ পঠন - এটি ব্যবসায়িক সমালোচনা এবং এটি গুরুত্ব সহকারে - গুরুত্বপূর্ণ। ডিমের স্টাইল রান্না করছেন না। একটি প্রো ভাড়া।
টমটম

2
খুব খারাপ যে আমি এই সাইটে উত্তরগুলি ভোট দিতে পারি না ...
আরসলবার্গ

1
@ আরসোলবার্গ: অন্যান্য পরামর্শের সাথে আপনার ইতিমধ্যে পাওয়া টমটমের উত্তরটি বৈধ। আমি আপনাকে পরামর্শ দেব যে প্রতিক্রিয়াশীলদের মধ্যে কেউই আপনাকে ব্যাকআপের মূল বাক্য গঠনটি দেখানোর প্রত্যাশা করবেন না। যদিও আমি দেখছি শান এটি করতে যথেষ্ট সদয় ছিল। একটি ব্যাকআপ কৌশল ডিজাইন করা যথেষ্ট নয়। আপনার এটিকে একটি পুনরুদ্ধার কৌশলের সাথে যুক্ত করতে হবে যাতে আপনার যখন প্রয়োজন হয় তখন সমস্ত কিছুই কার্যকর হয়।
মেরিয়ান

2
@ আরসোলবার্গ: আপনাকে ছেড়ে দেওয়ার জন্য দুঃখিত এটি উদ্দেশ্য নয়। কিন্তু এই সম্প্রদায় কীভাবে সহায়তা করে না? আপনার ভাল এবং বৈধ উত্তর (এবং মন্তব্য) আছে। আপনার নিজের বার্তাটি ছিল: "এই মুহুর্তে 1 দিনের ডেটা হারানোর জন্য গত বছর এই সময় কয়েক মিলিয়ন বনাম কয়েক হাজার ব্যয় হবে cost" সুতরাং আপনার শক্ত ব্যাকআপ এবং পুনরুদ্ধার কৌশল দরকার যাতে আপনি সেখানে না পৌঁছান। একটি শক্ত কৌশলটি খুব ভাল বেসিকগুলি জানার থেকে আসে। যা ম্যানুয়ালটি পড়ার এবং বোঝার থেকে আসে। আর কিছু বুঝতে পারলে দুঃখিত!
মারিয়ান

2
আমি @ আরসোলবার্গের সাথে একমত যে এখানে বেশিরভাগ উত্তরগুলি "কীভাবে" করবেন তা দেখায় না, তবে এটি কারণও যে প্রশ্নটি রাসেলকে আপনি বুঝতে পারেন নি কিছু বিষয়ে "কী" তেমন অভাব ছিল in আপনার যা প্রয়োজন সে সম্পর্কে আপনাকে আমাদের আরও কিছু বলতে হবে, তবে আমি আপনার সাথে একমত হই যে এখানকার সাইটটি "আরটিএফএম n00b" সম্পর্কে থাকার কথা নয়। এছাড়াও, যেমন আপনি উল্লেখ করেছেন, স্ট্যাক ওভারফ্লোতে আপনার কাছে 10 ক রয়েছে , সুতরাং আপনি অবশ্যই প্রতীকী বা বিঘ্নিত মন্তব্যগুলি পতাকাঙ্কিত মন্তব্যগুলি বুঝতে পারবেন। ভবিষ্যতে, হতাশায় ফোটার পরিবর্তে আপনার তাড়াতাড়ি করা উচিত।
jcolebrand

6

আপনাকে প্রথমে যা করতে হবে তা হ'ল আপনি কী পরিমাণ ডেটা হারাতে পারবেন তা নির্ধারণ করুন। ততক্ষণে আপনার কতক্ষণ না ডাটাবেস ব্যাকআপ করার কোনও ধারণা থাকবে না। এটি এমন একটি সংখ্যা নয় যা আপনার সামনে আসা উচিত। এটি এমন কিছু যা ব্যবসায়ের (বা একটি ছোট সংস্থার প্রধান নির্বাহী কর্মকর্তা) সিদ্ধান্ত নিতে হবে। তারা যে প্রথম নম্বরটি দিয়ে ফিরে আসতে চলেছে তা হল 0 মিনিট। যা করা যায় তবে এটি করা খুব ব্যয়বহুল হতে চলেছে। বাস্তবে আপনি যে পরিমাণ সর্বনিম্ন ডেটা ব্যাকআপ নিতে পারেন তা প্রতি 2 মিনিটের মধ্যে হয়। সিস্টেমে ডেটা পরিবর্তনের পরিমাণ যদি যথেষ্ট পরিমাণে হয় তবে আপনি প্রতি মিনিটে ব্যাকআপ নিতে পারেন।

লেনদেন লগ ব্যাকআপগুলি করার জন্য, আপনাকে যা করতে হবে তা হ'ল আপনাকে সম্পূর্ণ পুনরুদ্ধার মোডে ডাটাবেস স্থাপন করতে হবে।

যদি আপনি 5 মিনিটের মূল্যবান ডেটা হারাতে সক্ষম হন তবে আপনি প্রতিদিন পুরো ব্যাকআপ করতে এবং প্রতি 5 মিনিটে লেনদেন লগ ব্যাকআপ করতে চাইবেন। যদি আপনি 15 মিনিটের মূল্যবান ডেটা হারাতে পারেন তবে আপনি প্রতি 15 মিনিটে পুরো ব্যাকআপ এবং লেনদেনের লগ ব্যাকআপ করতে চান।

অন্য বিকল্পটি হ'ল আমি উপরের বিষয়ে কথা বলার সাথে প্রতি x মিনিটে সাপ্তাহিক ফুল ব্যাকআপ, প্রতিদিনের ডিফারেনশিয়াল ব্যাকআপ এবং লেনদেনের লগ ব্যাকআপ করা ।

মনে রাখবেন যে ডাটাবেস ব্যর্থতা বা ডেটা মুছে ফেলার ক্ষেত্রে আপনাকে যত বেশি ফাইল ব্যাকআপ করতে হবে তত বেশি ফাইলগুলি পুনরুদ্ধার করতে হবে। ডেটাবেস পুনরুদ্ধার করতে যে পরিমাণ সময় লাগে তা সংক্ষিপ্ত করতে দিনের বাইরে ডিফারেনশিয়াল ব্যাকআপগুলি বুদ্ধিমান হতে পারে।

সমস্ত ব্যাকআপ যা ব্যাকআপ ডেটাবেস এবং ব্যাকআপ লগ স্টেটমেন্ট ব্যবহার করে তা অনলাইনে করা হয় এবং ব্যবহারকারীদের ডাটাবেস অ্যাক্সেস করা থেকে বিরত রাখে না।


আমরা আসলে কতটা ডেটা হারাতে পারি তা মূল্যায়ন করতে আমি যথেষ্ট সক্ষম। সিআইও হিসাবে আমি প্রতিদিন ব্যবসায়ের সিদ্ধান্তের সাথে জড়িত হওয়ার প্রবণতা হিসাবে ছোট ব্যবসায়গুলিকে অনেকগুলি টুপি পরার প্রয়োজন হয়।
আরসোলবার্গ

1
এটি তখন আলোচনাটিকে আরও সংক্ষিপ্ত করে তুলবে।
mrdenny

3

আপনার ব্যস্ততার সাথে আপনার একটি সাধারণ ব্যবসায়ের পরিস্থিতি রয়েছে তা বলতে দিন: সোমবার-শুক্রবার সকাল ৯ টা থেকে ৫ টা পর্যন্ত। তারপরে আমি পরামর্শ দেব: রবিবার রাতে সম্পূর্ণ ব্যাকআপ। সকাল 8 টা, সন্ধ্যা 6 টা এবং সকাল 1 টায় পার্থক্যযুক্ত ব্যাকআপ (পুনরুদ্ধারের সময় কমাতে)। প্রতি ঘন্টা বা আপনার ব্যবসায়ের কী প্রয়োজন তার উপর নির্ভর করে লগ ব্যাকআপ করুন।

আপনার ধরে রাখার সময়কালের উপর নির্ভর করে, আপনার পুরানো ব্যাকআপ ফাইলগুলি সাফ করার জন্য একটি স্বয়ংক্রিয় ক্লিনআপ কাজ থাকা উচিত। এগুলি এসকিউএল রক্ষণাবেক্ষণ পরিকল্পনা ব্যবহার করে তৈরি করা যেতে পারে। এসকিউএল 2005 এর জন্য এই লিঙ্কটি দেখুন

আপনার ব্যাকআপগুলি কিছুটা রিলান্ড্যান্ট ডিস্কে (মিররড) সংরক্ষণ করা উচিত, অথবা আপনি অফসাইট স্টোরেজের জন্য টেপগুলি ব্যবহার করতে পারেন। ব্যাকআপগুলি চলাকালীন ব্যবহারকারীরা সিস্টেমে কাজ চালিয়ে যেতে পারেন।


2

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


ট্যাগগুলি হারিয়ে গেছে, এটি কোনও বিশাল ডাটাবেস নয়। এটি বর্তমানে একটি এসকিউএলএক্সপ্রেস উদাহরণে চলছে।
আরসোলবার্গ

1
হাজার হাজার ডলার, এক্সপ্রেসে চলছে? মজাদার!
আন্দ্রে রিনিয়া

আসলে তা না. আপনি যা সঞ্চয় করেন তার উপর নির্ভর করে (কোনও পাঠ্য নেই, কোনও বাইনারি নেই) - এটি হ'ল 10 গিগাবাইট ডেটা। আপনি 10 গিগাবাইটে গুরুতর সংস্থার - গুরুতর বড় সংস্থার জন্য অ্যাকাউন্টিং সিস্টেম চালাতে পারেন। প্রতিদিন 10,000.000 অর্ডার সহ একটি অনলাইন শপ 10 গিগাবাইটের মধ্যে সহজেই দোকান পাশ করতে পারে।
টমটম

1

অফ সাইট স্টোরেজ পেতে আপনি কী রাতে আপনার ব্যাকআপ ফোল্ডারটি সিঙ্ক করতে পারেন? যেহেতু আমি পুরোপুরি নিশ্চিত যে এটি একটি স্বাস্থ্যসেবা সংস্থার জন্য, তাই হাইপএ কমপ্লায়েন্সের জন্য পর্যাপ্ত সুরক্ষিত এমন কোনও কি আছে? বা সম্ভবত তাদের সুপার-এনক্রিপ্ট করা?

স্ক্রিপ্টটি কি অন্তত কোনও নেটওয়ার্ক শেয়ারে ব্যাকআপের একটি অনুলিপি রাখে? যদি শারীরিক বাক্সটি উড়ে যায় তবে ...


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