কম্পিউটার টিউটোরিয়াল

বড় SQL ডাটাবেসের জন্য ট্রানজ্যাকশনাল রিপ্লিকেশন সেটআপ: ফাস্ট-ট্র্যাক পদ্ধতি

ভূমিকা

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

খুব বড় SQL Server ডাটাবেসের জন্য ট্রানজ্যাকশনাল রিপ্লিকেশন সেটআপ করা একটি বিশাল কাজ। সাধারণত আপনি যেকোনো ডাটাবেসে ট্রানজ্যাকশনাল রিপ্লিকেশন সেটআপ করবেন স্ন্যাপশট জেনারেট করে, tanpa বিবেচনা কिये যে স্ন্যাপশট কতক্ষণ লাগবে এবং স্ন্যাপশট ফোল্ডারের জন্য কত ডিস্ক লাগবে। খুব দীর্ঘ সময় স্ন্যাপশট তৈরি করতে এবং সাবস্ক্রাইবাররা রি-ইনিশিয়ালাইজ করতে না গেলে, এই ব্লগে আপনি একটি সহজ পদ্ধতি এক্সপ্লোর করবেন SQL ডাটাবেস ব্যাকআপ থেকে সাবস্ক্রাইবার ইনিশিয়ালাইজ করার।

সেটআপের বিস্তারিত ধাপগুলো:

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

https://docs.microsoft.com/en-us/sql/relational-databases/replication/configure-publishing-and-distribution?view=sql-server-ver15

প্রক্রিয়ার ধাপাবলী ওভারভিউ:

  • পাবলিকেশন তৈরি করুন।
  • পাবলিকেশন প্রোপার্টি মডিফাই করুন।
  • পাবলিশার ডাটাবেস ব্যাকআপ নিন।
  • সাবস্ক্রাইবার ডাটাবেসে ব্যাকআপ রিস্টোর করুন।
  • GUI ব্যাকআপ থেকে ইনিশিয়ালাইজেশন সাপোর্ট করে না বলে T-SQL ব্যবহার করে সাবস্ক্রিপশন তৈরি করুন।

এই সিন্যারিওতে ট্রানজ্যাকশনাল রিপ্লিকেশন নিচের ডিটেইলসহ কনফিগার করা হবে:

  • Publisher + Distributor: Node1
  • Subscriber: Node2
  • Publisher Database: ABC_Pub
  • Subscriber Database: ABC_Sub
  • Publication: ABC_Pub_Bkp
  • Subscription: ABC_Sub_Bkp

ধাপ ১: রিপ্লিকেশনের জন্য ডাটাবেস চুনে পাবলিকেশন তৈরি করুন।

Publisher Database: ABC_Pub

ধাপ ২: পাবলিকেশন টাইপ এবং রিপ্লিকেশনে অংশ लेने वाली টেবিল সিলেক্ট করুন।

রিপ্লিকেট করার আর্টিকেল সিলেক্ট করুন:

ধাপ ৩: আমাদের কেসে ডাটাবেস ব্যাকআপ ফাইল ব্যবহার করা হচ্ছে স্ন্যাপশটের পরিবর্তে, তাই সেগুলো খালি রেখে Next-এ ক্লিক করুন, নিচের স্ন্যাপশট অনুযায়ী।

তৈরি করা পাবলিকেশন- ABC_Pub_Bkp

ধাপ ৪: 'Allow initialization from backup files'-কে true সেট করুন।

T-SQL থেকে:

GUI থেকে: Publication Properties-এ, Subscription Options সিলেক্ট করুন এবং “Allow initialization from backup files“-কে “true” সেট করুন এবং পরিবর্তন সংরক্ষণ করতে Ok ক্লিক করুন।

ধাপ ৫: Distribution cleanup SQL Server জব ডিজেবল করুন (জব নামে রাইট ক্লিক করুন এবং Disable ক্লিক করুন):

ব্যাকআপ নেওয়ার আগে জবটি ডিজেবল করা আবশ্যক। না করলে নিচের এরর হতে পারে।

ধাপ ৬: পাবলিশার থেকে ডাটাবেস ব্যাকআপ নিন।

ধাপ ৭: সাবস্ক্রাইবার সার্ভারে ব্যাকআপ রিস্টোর করুন।

ধাপ ৮: পাবলিকেশন ডাটাবেসে sp_addsubscription এক্সিকিউট করুন নিচের স্ন্যাপশটে উল্লিখিত প্যারামিটার পাস করে।

ধাপ ৯: অন্যান্য সব ধাপ সম্পন্ন হলে Distribution cleanup জব এনেবল করুন।

ধাপ ১০: এখন SSMS-এ Replication → Replication Monitor-এ রিপ্লিকেশন স্ট্যাটাস চেক করুন।

আমরা দেখতে পাচ্ছি যে পারফরম্যান্স Excellent স্টেট দেখাচ্ছে এবং পুরো প্রক্রিয়ায় কোনো স্ন্যাপশট এজেন্ট তৈরি হয়নি কারণ আমরা ব্যাকআপ ফাইল ব্যবহার করেছি ইনিশিয়ালাইজেশনের জন্য।

উপসংহার

ডাটাবেস ব্যাকআপ ফাইল থেকে ইনিশিয়ালাইজেশন বড় ডাটাবেস সিঙ্ক্রোনাইজ করার সময় অনেক সমস্যা সমাধান করে কিন্তু কিছু নতুন সমস্যা সৃষ্টি করে। এই সমস্যাগুলো কিছু প্ল্যানিংয়ে সমাধান করা যায় এবং আশা করি এই আর্টিকেল প্রক্রিয়াটি সহজ করতে সাহায্য করবে।

ফিডব্যাক ট্যাব ব্যবহার করে মন্তব্য করুন বা প্রশ্ন জিজ্ঞাসা করুন। আপনি আমাদের সাথে কথা বলতে পারেন।

  1. ইনক্রিমেন্টাল ব্যাকআপ ব্যবহার করে ফিজিক্যাল স্ট্যান্ডবাই ডাটাবেস রিস্টোর করার ধাপে ধাপ গাইড

  2. Oracle 19c: ডাটাবেস অ্যাডমিনিস্ট্রেটরদের জন্য উন্নত ফিচারসমূহ

  3. ওয়ার্ডপ্রেস ডেটাবেস ম্যালওয়্যারের জন্য স্ক্যান করুন এবং সাইট রক্ষা করুন

  4. সেরা ৮টি ম্যাক ব্যাকআপ সফটওয়্যার: আপনার ডেটা আত্মবিশ্বাসের সাথে সিকিউর করুন