বনাম ব্যাকআপ / পুনরুদ্ধার সংযুক্ত / বিচ্ছিন্ন করুন


14

আমাকে অন্য সার্ভারে ডাটাবেস (সামগ্রিকভাবে) স্থানান্তর করতে হবে, অন্য পরীক্ষার পরিবেশ সেটআপ করার জন্য একটি সদৃশ ডাটাবেস তৈরি করতে।

আমার দুটি পছন্দ আছে:

  1. সোর্স সার্ভারে সম্পূর্ণ ব্যাকআপ করুন / গন্তব্য সার্ভারে পুনরুদ্ধার করুন;
  2. উত্স সার্ভারে বিচ্ছিন্ন করুন / গন্তব্য সার্ভারে সংযুক্ত করুন।

আমার প্রয়োজনীয়তা অনুসারে দুটি সমাধানের উপকারিতা এবং কনসগুলি কী কী?

আমি এসকিউএল সার্ভার 2008 এন্টারপ্রাইজ ব্যবহার করছি।

উত্তর:


12

ব্যাকআপ / পুনরুদ্ধার করা সাধারণত আপনার পছন্দের পদ্ধতি হওয়া উচিত। বেশিরভাগ পরিস্থিতিতে এটি দ্রুত হবে।

উত্পাদনের পরীক্ষা করার জন্যও আপনি এটি ধারাবাহিকভাবে ব্যবহার করতে পারেন।

সম্পর্কিত সম্পর্কিত প্রশ্নটিও দেখুন, যেখানে ব্যাকআপ / পুনরুদ্ধার বনাম বিচ্ছিন্ন / সংযুক্তির উল্লেখ করা হয়েছে:

এসকিউএল সার্ভার স্থানান্তর পুনরুদ্ধার বনাম বনাম অনুলিপি ডেটা এবং লগ ফাইল

নিশ্চিত হয়ে নিন যে আপনি WITH COPY_ONLYব্যাকআপটিতে বিকল্পটি যুক্ত করেছেন যাতে এটি বিদ্যমান রক্ষণাবেক্ষণের পরিকল্পনার ব্যাকআপ চেইনটি ভেঙে না ফেলে।


এসকিউএল ২০০৮ এন্টারপ্রাইজ ব্যাকআপ সংক্ষেপণ প্রবর্তন করেছে; সম্ভাবনাগুলি হ'ল সংকুচিত ব্যাকআপটি 100 গিগাবাইটের তুলনায় উল্লেখযোগ্যভাবে ছোট হবে এবং এমডিএফ / এলডিএফগুলির অনুলিপি করার চেয়ে কমপি / লোড লেখার পক্ষে দ্রুত।
টমাস রুশটন

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

যদি আপনি ব্যাকআপ / পুনরুদ্ধার করার সিদ্ধান্ত নেন তবে ব্যাকআপের সময় কোনও কন্টেন্ট রক্ষণাবেক্ষণের পরিকল্পনার ব্যাকআপ চেইনটি ভঙ্গ হয়নি তা নিশ্চিত করার জন্য ব্যাকআপের সময় COPY_ONLY বিকল্পটি ব্যবহার করুন।

একটি .bak ফাইল ভালভাবে সংকোচিত হয়, তাই আপনি যদি ব্যাকআপ তৈরির সাথে যাওয়ার সিদ্ধান্ত নিয়ে থাকেন তবে তা সরিয়ে নেওয়ার আগে ব্যাকআপটি সংকুচিত করে কিছু স্থানান্তর সময় সাশ্রয় করতে পারে।


4

আমি ব্যাকআপ / পুনরুদ্ধার করতে যাব কারণ এটি কার্যক্ষম অবস্থায় মূল ডাটাবেসটি ছেড়ে যায়।

বিশেষত যদি আপনি 'পরীক্ষার জন্য উত্পাদন' রূপান্তর করেন, তবে প্রোডাকশন ডাটাবেস অনলাইনে থাকা জরুরি।

ব্যাকআপ / পুনরুদ্ধার করাও একটি নিরাপদ বিকল্প: ফাইলটি বিচ্ছিন্নতার শুরু, অনুলিপি, সংযুক্তি ইত্যাদির মধ্যে কোথাও যদি দুর্নীতিগ্রস্থ হয় তবে কি হবে? কমপক্ষে যদি আপনি একটি ব্যাকআপ সঞ্চালন করেন এবং ফাইলটি দুর্নীতিগ্রস্থ হয়ে যায়, আপনি আবার শুরু করতে পারেন। যদি এটি কোনও বিচ্ছিন্নতার সাথে ঘটে তবে আপনার ডাটাবেস চলে গেছে।

এছাড়াও, আমার কাছে (যদিও এটি অন্য যে কোনও কিছুর চেয়ে বেশি অনুভূতি), ব্যাকআপ / পুনরুদ্ধার করা হ'ল "দৈনন্দিন কাজ" যেখানে বিচ্ছিন্নতা / সংযুক্তি এমন কিছু যা ব্যতিক্রমী পরিস্থিতিতে আপনি করেন। ;-) যদিও আমি এই ধারণা পেয়েছিলাম আমাকে জিজ্ঞাসা করবেন না


1

আমার সর্বদা ব্যাকআপ / পুনরুদ্ধারের অংশ "পুনরুদ্ধার" নিয়ে সমস্যা ছিল। অবশেষে আমি এটি ছেড়ে দিয়েছি এবং আমি তখন থেকে আলাদা করে / অনুলিপি / সংযুক্ত করে চলেছি বলে বিশদগুলি উদ্ধৃত করতে পারি না।

বিচ্ছিন্ন করার একমাত্র বিষয় হ'ল আপনি নিশ্চিত হয়েছিলেন যে আপনি নিশ্চিত করেছেন যে ডিবিএমএস ডেটাবেসও মুছে ফেলবে না। এটি ঘটেছে, এবং এটি খুব সুন্দর দৃশ্য নয়।


5
ডিবিএমএস বিচ্ছিন্নতার সাথে ডাটাবেস মুছবে না। ডিটাচ থেকে ফাইলগুলি মুছে ফেলা হয় এবং পুনরুদ্ধার করতে সমস্যা হয় তবে আপনি কোন ধরণের দোকানে আছেন?
জিবিএন

@ উইল: এসপি_ডাটাচ_ডিবি ড্রপ নয়: 2 পৃথক এবং সম্পর্কযুক্ত কমান্ড যা পৃথকভাবে জারি করতে হবে। কোনও বিচ্ছিন্ন ডাটাবেসগুলি এসআরকিউলের মাধ্যমে ফেলা বা ফাইলগুলি মুছে ফেলা যায় না। একটি বাদ দেওয়া ডাটাবেস পৃথক করা যায় না। কোডের মাধ্যমে বা এসএসএমএসের মাধ্যমে ডিটাচে "ফাইল মুছুন" বিকল্প নেই have সুতরাং, আমি আমার প্রথম মন্তব্যটিকে ন্যায়সঙ্গত করতে পারি কারণ আপনি ইচ্ছাকৃতভাবে DROP- এ ফাইলগুলি মুছে ফেলার বিকল্পটি বেছে নিতে হবে। বিচ্ছিন্ন নয়
gbn

1

আমি copy_onlyডস শেল থেকে এই পদ্ধতিটি ব্যবহার করে ব্যাকআপের প্রস্তাব দিই (যাতে আপনি লেনদেনের লগগুলিতে বাধা না দেন) :

C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\Backupডিরেক্টরি থেকে চালান :

backup.bat SQLDBNAME

কোথায় backup.batরয়েছে (লাইন বিরতি পাঠযোগ্যতা জন্য যোগ) :

sqlcmd.exe -U username -P xxxxxxx -S SQL-SERVERNAME 
    -Q "BACKUP DATABASE %1 TO DISK = '%1_COPYONLY.BAK' WITH COPY_ONLY,INIT;"
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.