কম্পিউটার

নতুন নিবন্ধ যোগ করা এবং বিদ্যমান SQL সার্ভার লেনদেনের প্রতিলিপি পুনরায় চালু করা

আমার আগের ব্লগে, আমি আলোচনা করেছি কিভাবে ডাটাবেস ব্যাকআপ ব্যবহার করে একটি বৃহৎ ডাটাবেসের জন্য প্রতিলিপি শুরু করা যায়। আমি এখন আলোচনা করব কিভাবে নতুন নিবন্ধ যোগ করা যায় এবং ব্যাকআপের মাধ্যমে কনফিগার করা বিদ্যমান SQL সার্ভার লেনদেনের প্রতিলিপি পুনরায় চালু করা যায়।

পরিচয়

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

  1. বিদ্যমান প্রকাশনায় নতুন নিবন্ধ যোগ করুন যা ব্যাকআপের সাথে শুরু করা হয়েছিল।
  2. সাবস্ক্রাইবারকে পুনরায় চালু করুন যা ইতিমধ্যে ব্যাকআপের সাথে শুরু করা হয়েছিল।

দৃষ্টিকোণ 1:কিভাবে নতুন নিবন্ধ যোগ করবেন বিদ্যমান প্রকাশনা যা ব্যাকআপের সাথে শুরু হয়েছিল:

আমাদের পরিস্থিতিতে, ব্যাকআপ ফাইলটি ব্যবহার করে লেনদেনের প্রতিলিপি ইতিমধ্যেই কনফিগার করা হয়েছে:

-প্রকাশক + পরিবেশক :Node1-সাবস্ক্রাইবার :Node2-প্রকাশক ডেটাবেস :ABC_Pub-সাবস্ক্রাইবার ডেটাবেস :ABC_Sub-প্রকাশনা :ABC_Pub_Bkp-সাবস্ক্রিপশন :ABC_Sub_Bkp-নিবন্ধ :গাড়ি, বাইক

বিদ্যমান প্রকাশনায় নতুন নিবন্ধ যুক্ত করা প্রকাশক এবং গ্রাহকের মধ্যে ডেটা (যা আমরা বিস্তারিত পদক্ষেপের সাথে আলোচনা করব) ম্যানুয়ালি সিঙ্ক্রোনাইজ করে করা যেতে পারে৷

প্রসেস স্টেপ ওভারভিউ:

  1. যে কোনো জনপ্রিয় আমদানি/রপ্তানি পদ্ধতি ব্যবহার করে প্রকাশক থেকে গ্রাহকের কাছে নতুন নিবন্ধের ডেটা সিঙ্ক্রোনাইজ করুন।
  • প্রকাশক ডাটাবেসে নতুন টেবিল যোগ করুন এবং কয়েকটি সারি সন্নিবেশ করুন।
  • নতুন টেবিলের জন্য তৈরি সংজ্ঞাটি স্ক্রিপ্ট করুন এবং গ্রাহক ডাটাবেসে কার্যকর করুন৷
  • প্রকাশক এবং গ্রাহকের মধ্যে ডেটা সিঙ্ক করতে রপ্তানি/আমদানি পদ্ধতি ব্যবহার করুন৷
  1. লগ রিডার এবং ডিস্ট্রিবিউটর এজেন্ট কাজ বন্ধ করুন।
  2. কনফিগারেশন সম্পূর্ণ করতে GUI ব্যবহার করে প্রকাশনায় নতুন নিবন্ধ যোগ করুন।
  3. লগ রিডার এবং ডিস্ট্রিবিউটর এজেন্ট কাজগুলি সক্ষম করুন এবং শুরু করুন৷
  4. প্রকাশকের উপর নতুন ডেটা সন্নিবেশ করান৷
  5. সাবস্ক্রাইবারের ডেটা যাচাই করুন।

ধাপ 1:ব্যবহার করে প্রকাশক থেকে গ্রাহকে নতুন নিবন্ধের জন্য ডেটা সিঙ্ক্রোনাইজ করুন আমদানি/রপ্তানি পদ্ধতি।

বিদ্যমান প্রতিলিপিতে, দুটি নিবন্ধ রয়েছে, এবং আমি প্রকাশক ডাটাবেসের জন্য আরও দুটি টেবিল তৈরি করব এবং পরে সেগুলিকে প্রতিলিপিতে যুক্ত করব৷

বিদ্যমান প্রতিলিপিতে নিবন্ধ:

আমি প্রকাশক ডাটাবেসে দুটি নতুন টেবিল তৈরি করেছি এবং প্রতিটি টেবিলে কয়েকটি সারি যোগ করেছি। এখন উভয় টেবিলের জন্য তৈরি সংজ্ঞাটি স্ক্রিপ্ট করুন এবং গ্রাহক ডাটাবেসে কার্যকর করুন।

প্রকাশক ডাটাবেসে দুটি নতুন টেবিল তৈরি করা হয়েছে:

প্রকাশকের সংজ্ঞা ব্যবহার করে গ্রাহকের উপর টেবিল তৈরি করা হয়েছে:

এখন আমদানি/রপ্তানি পদ্ধতি ব্যবহার করে প্রকাশক এবং গ্রাহকের মধ্যে ডেটা সিঙ্ক করতে দিন:

প্রকাশক ডাটাবেসে ডান ক্লিক করুন -> এক্সপোর্ট ডেটা নির্বাচন করুন -> প্রয়োজনীয় তথ্য পাস করতে উইজার্ড অনুসরণ করুন৷

সোর্স সার্ভার (প্রকাশক) এবং ডাটাবেসের নাম নির্বাচন করুন:

পরবর্তী ধাপে, গন্তব্য সার্ভার (সাবস্ক্রাইবার) এবং ডাটাবেসের নাম নির্বাচন করুন:

ডেটা স্থানান্তর করতে টেবিলের নাম নির্বাচন করুন এবং পরবর্তীতে ক্লিক করুন:

পরবর্তী ধাপে, রপ্তানি সফল হয়েছে:

ডেটা যাচাই করা: আপনি দেখতে পাচ্ছেন, ডেটা প্রকাশক এবং গ্রাহকের মধ্যে সিঙ্ক হয়েছে৷

2. লগ রিডার এবং ডিস্ট্রিবিউটর এজেন্ট কাজ বন্ধ করুন–

নিবন্ধগুলির সাথে কোনও ক্রিয়াকলাপ করার আগে প্রতিলিপি এজেন্টগুলিকে থামানো সর্বোত্তম প্রস্তাবিত অনুশীলন৷

3. কনফিগারেশন সম্পূর্ণ করতে GUI ব্যবহার করে প্রকাশনায় নতুন নিবন্ধ যোগ করুন

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

4. লগ রিডার এবং ডিস্ট্রিবিউটর এজেন্ট কাজগুলি সক্ষম করুন এবং শুরু করুন –

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

5. প্রকাশকের উপর নতুন ডেটা সন্নিবেশ করান৷

এখন আমি প্রতিটি টেবিলে আরও 5টি রেকর্ড যোগ করতে উভয় প্রকাশক টেবিলে ডেটা যোগ করব।

6. গ্রাহকের ডেটা যাচাই করুন:

ডেটা যাচাই করার পরে, আপনি এখন দেখতে পাবেন যে উভয় টেবিলে 5টি নতুন রেকর্ড যোগ করা হয়েছে (মোট 10টি সারি সহ)। একই সাবস্ক্রাইবার প্রতিলিপি করা হয়েছে.

প্রতিলিপি স্বাস্থ্যের অবস্থা:

দৃষ্টিকোণ 2:ব্যাকআপ নিয়ে ইতিমধ্যেই শুরু করা গ্রাহককে কীভাবে পুনরায় চালু করবেন৷

দ্বিতীয় দৃশ্যে চলে যাওয়া যেখানে কখনও কখনও গ্রাহককে পুনরায় চালু করার মাধ্যমে প্রতিলিপির সাথে যেকোনো সিঙ্ক্রোনাইজেশন সমস্যা সমাধান করার জন্য আমাদের কাছে শেষ বিকল্পটি অবশিষ্ট থাকে৷

আমাদের ক্ষেত্রে, আমরা ব্যাকআপের মাধ্যমে প্রতিলিপি শুরু করেছি এবং গ্রাহককে পুনরায় চালু করার প্রক্রিয়ার ধাপগুলি নিম্নরূপ।

  1. লগ রিডার, ডিস্ট্রিবিউটর এজেন্ট এবং ডিস্ট্রিবিউটর ক্লিনআপ কাজ বন্ধ করুন।
  2. প্রকাশক ডাটাবেসের জন্য সম্পূর্ণ ব্যাকআপ নিন এবং টি-লগ ব্যাকআপ কাজ নিষ্ক্রিয় করুন৷
  3. প্রতিস্থাপন সহ গ্রাহক ডাটাবেসে ডাটাবেস পুনরুদ্ধার করুন।
  4. ডেটা যাচাই করুন।
  5. sp_addsubscription চালান
  6. লগ রিডার এবং ডিস্ট্রিবিউটর কাজগুলি সক্ষম করুন, প্রকাশক ডাটাবেসে নতুন রেকর্ড সন্নিবেশ করুন এবং গ্রাহকের ডেটা যাচাই করুন৷

1. লগ রিডার এবং ডিস্ট্রিবিউটর এজেন্ট কাজ বন্ধ করুন।

নিবন্ধগুলির সাথে কোনও অপারেশন করার আগে প্রতিলিপি এজেন্ট বন্ধ করা সর্বোত্তম প্রস্তাবিত অনুশীলন৷

2. প্রকাশক ডাটাবেসের জন্য সম্পূর্ণ ব্যাকআপ নিন এবং টি-লগ ব্যাকআপ কাজ নিষ্ক্রিয় করুন৷

প্রকাশক সার্ভারে ডাটাবেস ABC_Pub এর জন্য সম্পূর্ণ ব্যাকআপ ট্রিগার করুন এবং যদি থাকে তাহলে T-Log ব্যাকআপ কাজ নিষ্ক্রিয় করুন৷

3. প্রতিস্থাপন এবং norecovery

সহ গ্রাহক ডাটাবেসে ডাটাবেস পুনরুদ্ধার করুন

প্রতিস্থাপনের সাথে গ্রাহক ডাটাবেস ABC_Sub পুনরুদ্ধার করুন:

4. প্রকাশক এবং গ্রাহক ডাটাবেসের মধ্যে ডেটা যাচাই করুন৷

ডেটা যাচাই করা হয়েছে এবং নিচের স্ন্যাপশটে দেখানো হয়েছে, কার এবং বাইক টেবিলের প্রতিটিতে 5টি রেকর্ড রয়েছে এবং দেশ এবং গ্রাহক টেবিলের প্রতিটিতে 10টি রেকর্ড রয়েছে৷

5. চালান sp_addsubscription :

এখন গ্রাহককে পুনরায় চালু করতে প্রয়োজনীয় প্যারামিটার সহ নিম্নলিখিত সঞ্চিত পদ্ধতিটি চালান৷

6. লগ রিডার, ডিস্ট্রিবিউটর এজেন্ট এবং ক্লিনআপ কাজগুলি সক্ষম করুন৷ প্রকাশক ডাটাবেসে নতুন রেকর্ড সন্নিবেশ করান এবং গ্রাহকের ডেটা যাচাই করুন৷

প্রতিলিপি এজেন্ট কাজগুলি সক্ষম করুন এবং শুরু করুন:

নিম্নলিখিত দুটি সারণিতে অতিরিক্ত 5টি রেকর্ড সন্নিবেশ করুন:

সাবস্ক্রাইবার ডাটাবেসে এখন ডেটা যাচাই করুন:

বৈধতা এখন সম্পূর্ণ হয়েছে এবং 5টি নতুন যোগ করা রেকর্ড গ্রাহকে প্রতিস্থাপিত হয়েছে এবং সমস্ত টেবিলে এখন প্রতিটিতে 10টি রেকর্ড রয়েছে৷

প্রতিলিপির জন্য স্বাস্থ্য পরীক্ষা:

উপসংহার

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

কোনো মন্তব্য করতে বা প্রশ্ন জিজ্ঞাসা করতে প্রতিক্রিয়া ট্যাব ব্যবহার করুন। আপনি আমাদের সাথে একটি কথোপকথনও শুরু করতে পারেন৷


  1. Microsoft SQL সার্ভার হাইব্রিড বাফার পুল ব্যবহার করে

  2. বিদ্যমান AlwaysOn ডাটাবেসে Microsoft SQL সার্ভার লগ শিপিং

  3. Microsoft SQL সার্ভার ক্যোয়ারী স্টোর

  4. PostgresSQL এ প্রতিলিপি