এখন শেয়ার:
সুচিপত্র লুকান
৩. সর্বদা উপলব্ধ গ্রুপ আর্কিটেকচার
৫. সর্বদা উপলব্ধ গ্রুপগুলি কনফিগার করা

১. সর্বদা উপলব্ধ গ্রুপগুলি বোঝা

১.১ এটি কী এবং এটি কীভাবে কাজ করে

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

১.২ সর্বদা উপলব্ধ গ্রুপ বনাম ব্যর্থতা ক্লাস্টার ইনস্ট্যান্স

SQL Server অলওয়েজ অন-এ দুটি স্বতন্ত্র প্রযুক্তি রয়েছে: অ্যাভেইলিবিলিটি গ্রুপ (AG) এবং ফেইলওভার ক্লাস্টার ইনস্ট্যান্স (FCI):

সর্বদা উপলভ্যতা গ্রুপগুলিতে সর্বদা ব্যর্থ ক্লাস্টার ইনস্ট্যান্স চালু থাকে
ব্যর্থতার সুযোগ ডাটাবেস-স্তর ইনস্ট্যান্স-লেভেল (সমস্ত ডাটাবেস একসাথে ব্যর্থ হয়)
তথ্য প্রতিলিপি প্রতিটি সেকেন্ডারিতে লগ-ভিত্তিক প্রতিলিপি কিছুই না — সমস্ত নোড একই স্টোরেজ ভাগ করে নেয়
শেয়ার্ড স্টোরেজ আবশ্যক না প্রয়োজনীয় (স্টোরেজ এরিয়া নেটওয়ার্ক (SAN), iSCSI, S2D, অথবা SMB)
পঠনযোগ্য গৌণ হাঁ না
দুর্যোগ পুনরুদ্ধার অন্তর্নির্মিত (সাইট জুড়ে অ্যাসিঙ্ক্রোনাস প্রতিলিপি) AG এর সাথে পেয়ারিং ছাড়া বিল্ট-ইন নয়

কখন প্রতিটি ব্যবহার করবেন: যখন আপনার ইনস্ট্যান্স-স্তরের ফেইলওভার প্রয়োজন এবং আগে থেকেই শেয়ার্ড স্টোরেজ পরিকাঠামো থাকে, তখন FCI ব্যবহার করুন। যখন আপনার ডাটাবেস-স্তরের গ্র্যানুলারিটি, পঠনযোগ্য সেকেন্ডারি বা দুর্যোগ পুনরুদ্ধারের প্রয়োজন হয়, তখন AG ব্যবহার করুন। সবচেয়ে সম্পূর্ণ সুরক্ষার জন্য, উভয়কে একত্রিত করুন: প্রতিটি রেপ্লিকাকে একটি FCI নোড হিসাবে চালান এবং সেগুলিকে একটি AG-তে লিঙ্ক করুন।

৩.৪ সুবিধা এবং সীমাবদ্ধতা

উপকারিতা:

  • সিঙ্ক্রোনাস রেপ্লিকার জন্য প্রায়-শূন্য পুনরুদ্ধার সময় অবজেক্টিভ (RTO) সহ স্বয়ংক্রিয় ব্যর্থতা;
  • সিঙ্ক্রোনাস-কমিট মোডে শূন্য ডেটা ক্ষতি (রিকভারি পয়েন্ট অবজেক্টিভ (RPO) = 0);
  • কোনও শেয়ার্ড স্টোরেজের প্রয়োজন নেই — প্রতিটি রেপ্লিকা স্বাধীন স্থানীয় স্টোরেজ ব্যবহার করে;
  • পঠনযোগ্য সেকেন্ডারি অফলোড রিপোর্টিং এবং প্রাথমিক থেকে ব্যাকআপ ওয়ার্কলোড;
  • একটি একক কনফিগারেশনের মধ্যে স্থানীয় উচ্চ উপলব্ধতা (HA) এবং ক্রস-সাইট দুর্যোগ পুনরুদ্ধার (DR) উভয়কেই সমর্থন করে।

সীমাবদ্ধতা:

  • সকল প্রতিলিপিতে উইন্ডোজ সার্ভার ফেইলওভার ক্লাস্টারিং প্রয়োজন;
  • সম্পূর্ণ বৈশিষ্ট্য সেটের জন্য এন্টারপ্রাইজ সংস্করণ (স্ট্যান্ডার্ড সংস্করণ উল্লেখযোগ্য সীমাবদ্ধতা সহ বেসিক এজি সমর্থন করে);
  • সিঙ্ক্রোনাস-কমিট মোড নেটওয়ার্ক রাউন্ড-ট্রিপ সময়ের সমানুপাতিকভাবে লেখার ক্রিয়াকলাপে লেটেন্সি যোগ করে;
  • লগইন, SQL এজেন্ট জব এবং লিঙ্ক করা সার্ভারগুলি স্বয়ংক্রিয়ভাবে সিঙ্ক্রোনাইজ হয় না SQL Server ২০১৯ এবং তার আগের (সমাধান করা হয়েছে SQL Server ২০২২ সালে প্রাপ্যতা গোষ্ঠী অন্তর্ভুক্ত ছিল)।

৩. সর্বদা উপলব্ধ গ্রুপ আর্কিটেকচার

৩.১ মূল উপাদান এবং ধারণা

৩.১.১ প্রাপ্যতা ডাটাবেস

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

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

৩.১.২ প্রতিলিপির প্রাপ্যতা

প্রাপ্যতা প্রতিলিপিগুলি হল SQL Server ইনস্ট্যান্সগুলো অ্যাভেইলেবিলিটি ডাটাবেসের কপি হোস্ট করে। প্রতিটি রেপ্লিকা ডাটাবেসের নিজস্ব ফিজিক্যাল কপি রক্ষণাবেক্ষণ করে, যা ট্রানজ্যাকশন লগ রেকর্ড শিপিংয়ের মাধ্যমে সিনক্রোনাইজ করা হয়। একটি অ্যাভেইলেবিলিটি গ্রুপে সর্বোচ্চ নয়টি রেপ্লিকা থাকতে পারে: একটি প্রাইমারি রেপ্লিকা এবং সর্বোচ্চ আটটি সেকেন্ডারি রেপ্লিকা।

৩.১.৩ প্রাথমিক প্রতিরূপ

প্রাইমারি রেপ্লিকা অ্যাভেইলেবিলিটি ডেটাবেসগুলোর রিড-রাইট কপি হোস্ট করে। সমস্ত ডেটা পরিবর্তন (INSERT, UPDATE, DELETE) প্রাইমারি রেপ্লিকাতেই সম্পন্ন হয়। ক্লায়েন্ট অ্যাপ্লিকেশনগুলো সমস্ত রাইট অপারেশনের জন্য এবং ডিফল্টভাবে রিড অপারেশনের জন্যও প্রাইমারি রেপ্লিকার সাথে সংযোগ স্থাপন করে।

৩.১.৪ সেকেন্ডারি রেপ্লিকা

সেকেন্ডারি রেপ্লিকাগুলো অ্যাভেইলেবিলিটি ডেটাবেসগুলোর রিড-অনলি কপি হোস্ট করে, যা প্রাইমারি রেপ্লিকা থেকে প্রাপ্ত ট্রানজ্যাকশন লগ রেকর্ডের ক্রমাগত প্রয়োগের মাধ্যমে রক্ষণাবেক্ষণ করা হয়। প্রতিটি সেকেন্ডারি রেপ্লিকা তার ডেটাবেস কপিগুলোকে প্রাইমারির সাথে সিঙ্ক্রোনাইজড রাখার জন্য লগ রেকর্ড গ্রহণ করে, সেগুলোকে সুরক্ষিত করে এবং প্রয়োগ করে।

মূল উপাদান এবং ধারণার ইনফোগ্রাফিক SQL Server সর্বদা প্রাপ্যতা গোষ্ঠীতে

৩.২ প্রাপ্যতা মোড

৩.২.১ সিঙ্ক্রোনাস-কমিট মোড

সিঙ্ক্রোনাস-কমিট মোড শূন্য ডেটা ক্ষতি সুরক্ষা প্রদান করে, যার ফলে প্রাথমিক প্রতিলিপিকে লেনদেন করার আগে সেকেন্ডারি প্রতিলিপিতে লেনদেন লগ রেকর্ডগুলি শক্ত করা হয়েছে কিনা তা নিশ্চিত হওয়ার জন্য অপেক্ষা করতে হয়। এই মোডটি উচ্চ প্রাপ্যতা কনফিগারেশনের জন্য অপরিহার্য যেখানে ডেটা ক্ষতি অগ্রহণযোগ্য।

৩.২.২ অ্যাসিঙ্ক্রোনাস-কমিট মোড

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

বিনিময় হল ফেইলওভারের সময় সম্ভাব্য ডেটা ক্ষতি। যদি প্রাথমিক প্রতিলিপি ব্যর্থ হয়, তবে কিছু প্রতিশ্রুতিবদ্ধ লেনদেন সেকেন্ডারি প্রতিলিপিতে পৌঁছাতে পারেনি। সম্ভাব্য ডেটা ক্ষতির পরিমাণ নেটওয়ার্ক ব্যান্ডউইথ, সেকেন্ডারি প্রতিলিপি কর্মক্ষমতা এবং ব্যর্থতার সময়ের উপর নির্ভর করে। অ্যাসিঙ্ক্রোনাস মোড ব্যবহার করার সময় সংস্থাগুলিকে এই ঝুঁকি গ্রহণ করতে হবে।

ইনফোগ্রাফিক SQL Server সর্বদা উপলব্ধতা মোডে, সিঙ্ক্রোনাস-কমিট মোড এবং অ্যাসিঙ্ক্রোনাস-কমিট মোড সহ।

৩.৩ ব্যর্থতার ধরণ

৩.৩.১ স্বয়ংক্রিয় ব্যর্থতা

স্বয়ংক্রিয় ব্যর্থতা উপলভ্যতা গোষ্ঠীকে প্রাথমিক প্রতিলিপি ব্যর্থতা সনাক্ত করতে এবং প্রশাসকের হস্তক্ষেপ ছাড়াই স্বয়ংক্রিয়ভাবে একটি মাধ্যমিক প্রতিলিপিকে প্রাথমিকে উন্নীত করতে সক্ষম করে। এই ক্ষমতা ব্যর্থতার জন্য ম্যানুয়াল প্রতিক্রিয়ার প্রয়োজনীয়তা দূর করে RTO কে হ্রাস করে।

স্বয়ংক্রিয় ফেলওভারের জন্য সিঙ্ক্রোনাস-কমিট মোড প্রয়োজন যাতে ডেটা ক্ষতি না হয়। সক্রিয় থাকাকালীন, প্রাপ্যতা গ্রুপটি ক্রমাগত প্রাথমিক প্রতিরূপের স্বাস্থ্য পর্যবেক্ষণ করে। যদি প্রাথমিকটি প্রতিক্রিয়াশীল না হয় বা ব্যর্থ হয়, তাহলে উইন্ডোজ সার্ভার ফেলওভার ক্লাস্টার একটি নির্দিষ্ট সেকেন্ডারি প্রতিরূপে স্বয়ংক্রিয় ফেলওভার শুরু করে।

৩.৩.২ ম্যানুয়াল ফেইলওভার

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

সিঙ্ক্রোনাস-কমিট রেপ্লিকাগুলির জন্য ডেটা ক্ষতি ছাড়াই ম্যানুয়াল ফেলওভার উপলব্ধ। প্রশাসক ফেলওভার শুরু করেন SQL Server ম্যানেজমেন্ট স্টুডিও, ট্রান্সাক্ট-এসকিউএল, অথবা পাওয়ারশেল। প্রাইমারি রেপ্লিকা বর্তমান ট্রানজ্যাকশনগুলো প্রসেস করা শেষ করে, অবশিষ্ট সমস্ত লগ রেকর্ড টার্গেট সেকেন্ডারিতে পাঠিয়ে দেয় এবং প্রাইমারি ভূমিকা হস্তান্তরের আগে নিশ্চিতকরণের জন্য অপেক্ষা করে।

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

৩.৩.৩ জোরপূর্বক ব্যর্থতা

ফোর্সড ফেইলওভার একটি অ্যাসিঙ্ক্রোনাস সেকেন্ডারি রেপ্লিকা বা সম্পূর্ণরূপে সিঙ্ক্রোনাস না হওয়া সেকেন্ডারিতে ফেইলওভারের অনুমতি দেয়, সম্ভাব্য ডেটা ক্ষতির স্পষ্ট স্বীকৃতি সহ। যখন প্রাথমিক রেপ্লিকাটি অনুপলব্ধ থাকে এবং কোনও সিঙ্ক্রোনাস সেকেন্ডারি বিদ্যমান না থাকে তখন এই বিকল্পটি শেষ অবলম্বন হিসাবে কাজ করে।

ইনফোগ্রাফিক SQL Server সর্বদা ফেইলওভার প্রকারে, যার মধ্যে রয়েছে স্বয়ংক্রিয় ফেইলওভার, ম্যানুয়াল ফেইলওভার এবং জোরপূর্বক ফেইলওভার।

৪.২ ডেটা সিঙ্ক্রোনাইজেশন

৩.৪.১ ডেটা সিঙ্ক্রোনাইজেশন কীভাবে কাজ করে

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

৩.৪.২ লেনদেন লগ রেকর্ড এবং শক্তকরণ

লেনদেন লগ শক্ত করা হল একটি গুরুত্বপূর্ণ ধাপ যেখানে লগ রেকর্ডগুলি সেকেন্ডারি রেপ্লিকাগুলিতে টেকসই স্টোরেজে লেখা হয়। শক্ত করা নিশ্চিত করে যে লগ রেকর্ডগুলি সেকেন্ডারি রেপ্লিকা ব্যর্থতা থেকে বেঁচে থাকে এবং পুনরুদ্ধারের সময় পুনরায় চালানো যেতে পারে।

ইনফোগ্রাফিক SQL Server সর্বদা ডেটা সিঙ্ক্রোনাইজেশন প্রক্রিয়ায়।

৩.৫ পঠনযোগ্য এবং পঠনযোগ্য মাধ্যমিক প্রতিলিপি

৩.৫.১ কেবল পঠনযোগ্য কাজের লোড অফলোড করা

পঠনযোগ্য সেকেন্ডারি রেপ্লিকাগুলি প্রতিষ্ঠানগুলিকে প্রাথমিক রেপ্লিকা থেকে পঠন-নিবিড় কাজের চাপ অফলোড করতে সক্ষম করে, সামগ্রিক সিস্টেমের কর্মক্ষমতা এবং সম্পদের ব্যবহার উন্নত করে। এই পঠন-স্কেল ক্ষমতা পুরানো উচ্চ প্রাপ্যতা সমাধানগুলির তুলনায় প্রাপ্যতা গোষ্ঠীগুলির অন্যতম প্রধান সুবিধা।

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

৩.৫.২ সেকেন্ডারি রেপ্লিকাগুলিতে ব্যাকআপ অপারেশন

সেকেন্ডারি রেপ্লিকাগুলিতে ব্যাকআপ চালানোর ফলে প্রাথমিক রেপ্লিকার উপর ইনপুট/আউটপুট (I/O) এবং সেন্ট্রাল প্রসেসিং ইউনিট (CPU) লোড হ্রাস পায়, যার ফলে এটি লেনদেনের কাজের চাপের উপর ফোকাস করতে পারে। এই ক্ষমতা প্রতিষ্ঠানগুলিকে উৎপাদন কর্মক্ষমতা প্রভাবিত না করেই ব্যাকআপের প্রয়োজনীয়তা পূরণ করতে সহায়তা করে।

SQL Server সেকেন্ডারি রেপ্লিকাগুলিতে সম্পূর্ণ ডাটাবেস ব্যাকআপ, ডিফারেনশিয়াল ব্যাকআপ এবং লেনদেন লগ ব্যাকআপ সমর্থন করে। ব্যাকআপ পছন্দগুলি সেকেন্ডারি রেপ্লিকা পছন্দ, প্রাথমিক পছন্দ, কেবল সেকেন্ডারি, অথবা যেকোনো রেপ্লিকা পছন্দ করার জন্য কনফিগার করা যেতে পারে। ব্যাকআপ সিস্টেম স্বয়ংক্রিয়ভাবে এই পছন্দ এবং বর্তমান উপলব্ধতার উপর ভিত্তি করে একটি উপযুক্ত রেপ্লিকা নির্বাচন করে।

আরও বিশদ জন্য SQL Server ব্যাকআপ, আমাদের দেখুন ব্যাপক গাইড.

পঠন-স্কেল এবং পঠনযোগ্য গৌণ প্রতিলিপিগুলির ইনফোগ্রাফিক SQL Server সবসময়

৩.৬ গ্রুপ লিসেনারের প্রাপ্যতা

৩.৬.১ শ্রোতা কী?

একটি প্রাপ্যতা গ্রুপ শ্রোতা হল একটি ভার্চুয়াল নেটওয়ার্ক নাম (VNN) এবং IP ঠিকানা যা ক্লায়েন্ট অ্যাপ্লিকেশনগুলি প্রাপ্যতা গ্রুপ ডাটাবেসের সাথে সংযোগ স্থাপনের জন্য ব্যবহার করে। শ্রোতা স্বয়ংক্রিয়ভাবে বর্তমান প্রাথমিক প্রতিরূপে সংযোগগুলি পুনঃনির্দেশিত করে, যার ফলে অ্যাপ্লিকেশনগুলিকে বর্তমানে কোন সার্ভারটি প্রাথমিক তা ট্র্যাক করার প্রয়োজন হয় না।

৩.৬.২ ক্লায়েন্ট সংযোগ রাউটিং

শ্রোতার মাধ্যমে ক্লায়েন্ট সংযোগ রাউটিং পঠন-লেখা এবং পঠন-অনলি সংযোগ উভয় উদ্দেশ্যকেই সমর্থন করে। শ্রোতা সংযোগ অনুরোধটি পরীক্ষা করে এবং অ্যাপ্লিকেশনের উদ্দেশ্যের উপর ভিত্তি করে উপযুক্ত প্রতিরূপে এটিকে রাউট করে।

ইনফোগ্রাফিক SQL Server সর্বদা উপলব্ধ গ্রুপ শ্রোতা।

৪. পূর্বশর্ত এবং প্রয়োজনীয়তা

৪.১ উপলব্ধতা গোষ্ঠীর জন্য উইন্ডোজ সার্ভার ফেইলওভার ক্লাস্টারিং

৪.১.১ উইন্ডোজ সার্ভার ফেইলওভার ক্লাস্টারিং এর মৌলিক বিষয়সমূহ

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

প্রতি SQL Server উদাহরণস্বরূপ, একটি প্রাপ্যতা গোষ্ঠীতে অংশগ্রহণকারীকে অবশ্যই WSFC ক্লাস্টারের একটি নোড হতে হবে। ক্লাস্টারটি কোরাম ভোটিং, নোড স্বাস্থ্য সনাক্তকরণ এবং প্রাপ্যতা গোষ্ঠীর রিসোর্স অবস্থা পরিচালনা করে। যখন প্রাথমিক প্রতিলিপি ব্যর্থ হয়, তখন WSFC ব্যর্থতা প্রক্রিয়াটি সমন্বয় করে এবং নতুন প্রাথমিক প্রতিলিপি প্রতিফলিত করার জন্য ক্লাস্টার রিসোর্স আপডেট করে।

উইন্ডোজ সার্ভার ফেইলওভার ক্লাস্টারিং (WSFC) এর মৌলিক বিষয়গুলির ইনফোগ্রাফিক SQL Server সর্বদা উপলভ্যতা গ্রুপগুলিতে

৪.১.২ ক্লাস্টার কোরাম কনফিগারেশন

ক্লাস্টার কোরাম নির্ধারণ করে যে নেটওয়ার্ক সংযোগের সমস্যা দেখা দিলে কোন নোডগুলি কাজ করতে পারে, যা স্প্লিট-ব্রেন পরিস্থিতি প্রতিরোধ করে যেখানে একাধিক নোড স্বাধীনভাবে প্রাথমিক বলে দাবি করে। কোরাম কনফিগারেশন ক্লাস্টার সিদ্ধান্তের জন্য সংখ্যাগরিষ্ঠ ভোট কী গঠন করে তা নির্ধারণ করে।

প্রাপ্যতা গোষ্ঠীর জন্য বেশ কয়েকটি কোরাম মোড উপলব্ধ:

  • নোড মেজরিটি শুধুমাত্র ক্লাস্টার নোড ভোট ব্যবহার করে এবং বিজোড় সংখ্যক নোড সহ ক্লাস্টারগুলির জন্য ভাল কাজ করে।
  • নোড এবং ফাইল শেয়ার মেজরিটি একটি ফাইল শেয়ার উইটনেস ভোট যোগ করে, যা জোড়-সংখ্যাযুক্ত নোড ক্লাস্টারের জন্য উপযুক্ত।
  • নোড এবং ডিস্ক মেজরিটি একটি ডিস্ক উইটনেস ব্যবহার করে কিন্তু প্রাপ্যতা গোষ্ঠীর জন্য এটি কম সাধারণ কারণ শেয়ার্ড স্টোরেজ প্রয়োজন হয় না।

ক্লাস্টার কোরাম কনফিগারেশনের ইনফোগ্রাফিক SQL Server সর্বদা উপলভ্যতা গ্রুপগুলিতে

৪.১.৩ মাল্টি-সাবনেট ক্লাস্টারিং

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

মাল্টি-সাবনেট ক্লাস্টারিংয়ের ইনফোগ্রাফিক SQL Server সর্বদা উপলভ্যতা গ্রুপগুলিতে

3.2 SQL Server সংস্করণের প্রয়োজনীয়তা

৪.২.১ এন্টারপ্রাইজ সংস্করণের বৈশিষ্ট্য

SQL Server এন্টারপ্রাইজ সংস্করণ কোনও সীমাবদ্ধতা ছাড়াই সম্পূর্ণ প্রাপ্যতা গ্রুপের কার্যকারিতা প্রদান করে। এন্টারপ্রাইজ সংস্করণ আটটি পর্যন্ত সেকেন্ডারি রেপ্লিকা, পঠনযোগ্য সেকেন্ডারি, স্বয়ংক্রিয় সিডিং, বিতরণযোগ্য প্রাপ্যতা গ্রুপ এবং সমস্ত উন্নত বৈশিষ্ট্য সমর্থন করে।

৪.২.২ স্ট্যান্ডার্ড সংস্করণ বৈশিষ্ট্য (মৌলিক উপলব্ধতা গোষ্ঠী)

SQL Server ২০১৬ স্ট্যান্ডার্ড সংস্করণ এবং পরবর্তী সংস্করণগুলো উল্লেখযোগ্য সীমাবদ্ধতাসহ বেসিক অ্যাভেইলেবিলিটি গ্রুপ সমর্থন করে। বেসিক অ্যাভেইলেবিলিটি গ্রুপগুলো কম খরচে উচ্চ প্রাপ্যতার মূল কার্যকারিতা প্রদান করে, যা অপেক্ষাকৃত সরল চাহিদাসম্পন্ন প্রতিষ্ঠানগুলোর জন্য উপযুক্ত।

৫. সর্বদা উপলব্ধ গ্রুপগুলি কনফিগার করা

৫.১ পরিবেশ প্রস্তুত করা

একটি প্রাপ্যতা গোষ্ঠী তৈরি করার আগে, পরিবেশটি সঠিকভাবে প্রস্তুত করতে হবে যাতে অ্যাক্টিভ ডিরেক্টরি অ্যাকাউন্ট, সার্ভার কনফিগারেশন এবং নেটওয়ার্ক অবকাঠামো থাকে।

৫.১.১ ডোমেইন কন্ট্রোলার সেটআপ

অ্যাক্টিভ ডিরেক্টরি ডোমেন কন্ট্রোলারটি প্রাপ্যতা গ্রুপ ক্লাস্টার সমর্থন করার জন্য কনফিগার করা আবশ্যক এবং SQL Server পরিষেবা অ্যাকাউন্ট।

  1. ডোমেন অ্যাডমিনিস্ট্রেটর শংসাপত্র সহ ডোমেন কন্ট্রোলারে লগ ইন করুন।
  2. খোলা সার্ভার ম্যানেজার এবং যাও নেভিগেট টুলস -> অ্যাক্টিভ ডিরেক্টরি ব্যবহারকারী এবং কম্পিউটার.
  3. একটি সাংগঠনিক ইউনিট তৈরি করুন SQL Server যদি কোন বস্তুর অস্তিত্ব না থাকে।
  4. সমস্ত ক্লাস্টার নোডের জন্য কম্পিউটার অবজেক্টগুলি অ্যাক্টিভ ডিরেক্টরিতে বিদ্যমান কিনা তা যাচাই করুন।
  5. নিশ্চিত করুন যে ডোমেন নেম সিস্টেম (DNS) পরিষেবাগুলি সঠিকভাবে কনফিগার করা আছে এবং সমস্ত সার্ভারের নাম সঠিকভাবে সমাধান হচ্ছে।

অ্যাক্টিভ ডিরেক্টরি ব্যবহারকারী এবং কম্পিউটারে অ্যাক্টিভ ডিরেক্টরি ডোমেন কন্ট্রোলার সেট করুন।

৫.১.২ পরিষেবা অ্যাকাউন্ট তৈরি করা

এর জন্য ডেডিকেটেড অ্যাক্টিভ ডিরেক্টরি পরিষেবা অ্যাকাউন্ট তৈরি করুন SQL Server প্রতিটি নোডে পরিষেবা।

  1. খোলা অ্যাক্টিভ ডিরেক্টরি ব্যবহারকারী এবং কম্পিউটার ডোমেন কন্ট্রোলারে।
  2. উপযুক্ত সাংগঠনিক ইউনিটে ডান-ক্লিক করুন এবং নির্বাচন করুন নতুন -> ব্যবহারকারী.
  3. পরিষেবা অ্যাকাউন্টের নাম লিখুন (উদাহরণস্বরূপ, svc_SQLServer) এবং সেট করুন ব্যবহারকারীর লগইন নাম.
  4. ক্লিক পরবর্তী এবং একটি শক্তিশালী পাসওয়ার্ড লিখুন।
  5. নির্বাচন করা ব্যবহারকারী পাসওয়ার্ড পরিবর্তন করতে পারবেন না এবং পাসওয়ার্ড মেয়াদ শেষ না.
  6. ক্লিক পরবর্তী এবং তারপর শেষ অ্যাকাউন্ট তৈরি করতে।
  7. যেকোনো অতিরিক্ত পরিষেবা অ্যাকাউন্টের জন্য পুনরাবৃত্তি করুন (SQL Server এজেন্ট, এসএসআরএস, ইত্যাদি)।

নতুন সক্রিয় ডিরেক্টরি ব্যবহারকারী অ্যাকাউন্ট তৈরি করুন।

৫.১.৩ প্রশাসকের অনুমতি কনফিগার করা

পরিষেবা অ্যাকাউন্ট এবং কনফিগার করার জন্য ব্যবহৃত অ্যাকাউন্টগুলি SQL Server সমস্ত ক্লাস্টার নোডে যথাযথ অনুমতি থাকতে হবে।

  1. প্রতিটি ক্লাস্টার নোড সার্ভারে লগ ইন করুন।
  2. খোলা কম্পিউটার ব্যবস্থাপনা থেকে শুরু মেনু অথবা সার্ভার ম্যানেজার।
  3. বিস্তৃত করা স্থানীয় ব্যবহারকারী এবং গ্রুপ এবং নির্বাচন করুন গ্রুপ.
  4. সঠিক পছন্দ প্রশাসকগণ এবং নির্বাচন করুন প্রোপার্টি.
  5. ক্লিক বিজ্ঞাপন এবং পরিষেবা অ্যাকাউন্টের নাম লিখুন।
  6. ক্লিক নাম চেক করুন অ্যাকাউন্টটি যাচাই করতে, তারপর ক্লিক করুন OK.
  7. ক্লিক OK অ্যাডমিনিস্ট্রেটর প্রোপার্টিজ ডায়ালগ বন্ধ করতে।
  8. সমস্ত ক্লাস্টার নোডে পুনরাবৃত্তি করুন।

নতুন সক্রিয় ডিরেক্টরি ব্যবহারকারী অ্যাকাউন্টের জন্য প্রশাসকের অনুমতিগুলি কনফিগার করুন।

৫.২ WSFC ইনস্টল এবং কনফিগার করা

সর্বদা অন অ্যাভেইলেবিলিটি গ্রুপ সক্ষম করার আগে, উইন্ডোজ সার্ভার ফেইলওভার ক্লাস্টারিং অবশ্যই সমস্ত নোডে ইনস্টল এবং কনফিগার করা আবশ্যক।

৫.২.১ ফেইলওভার ক্লাস্টারিং বৈশিষ্ট্য ইনস্টল করা

প্রাপ্যতা গোষ্ঠীতে অংশগ্রহণকারী প্রতিটি সার্ভারে ফেইলওভার ক্লাস্টারিং বৈশিষ্ট্যটি ইনস্টল করুন।

  1. খোলা সার্ভার ম্যানেজার প্রথম ক্লাস্টার নোডে।
  2. ক্লিক পরিচালনা করা -> ভূমিকা এবং বৈশিষ্ট্য যোগ করুন.
  3. ক্লিক পরবর্তী ভূমিকা পর্দার মাধ্যমে।
  4. নির্বাচন করা ভূমিকা-ভিত্তিক বা বৈশিষ্ট্য-ভিত্তিক ইনস্টলেশন এবং ক্লিক পরবর্তী.
  5. স্থানীয় সার্ভার নির্বাচন করুন এবং ক্লিক করুন পরবর্তী.
  6. রোলস স্ক্রিনটি এড়িয়ে যান এবং ক্লিক করুন পরবর্তী.
  7. বৈশিষ্ট্য স্ক্রিনে, নির্বাচন করুন ফেলওভার ক্লাস্টারিং.
  8. ক্লিক বৈশিষ্ট্য যুক্ত করুন যখন ব্যবস্থাপনা সরঞ্জাম অন্তর্ভুক্ত করার অনুরোধ জানানো হয়।
  9. ক্লিক পরবর্তী এবং তারপর ইনস্টল করুন.
  10. ইনস্টলেশন সম্পূর্ণ হওয়ার জন্য অপেক্ষা করুন এবং ক্লিক করুন ঘনিষ্ঠ.
  11. ক্লাস্টারে অংশগ্রহণকারী সকল সার্ভারে পুনরাবৃত্তি করুন।

এর জন্য ফেইলওভার ক্লাস্টারিং ইনস্টল করুন SQL Server সবসময়

৫.২.২ ফেইলওভার ক্লাস্টার তৈরি করা

সমস্ত নোডে ফেইলওভার ক্লাস্টারিং বৈশিষ্ট্য ইনস্টল করার পরে, একটি নোড থেকে ক্লাস্টার তৈরি করুন।

  1. খোলা ফেলওভার ক্লাস্টার ম্যানেজার থেকে সার্ভার ম্যানেজার -> টুলস.
  2. ক্লিক ক্লাস্টার তৈরি করুন অ্যাকশন প্যানে।
  3. ক্লিক পরবর্তী শুরু করার আগে পৃষ্ঠায়।
  4. ক্লিক ব্রাউজ করুন এবং ক্লাস্টার নোড হবে এমন সমস্ত সার্ভার যোগ করুন।
  5. ক্লিক পরবর্তী সমস্ত নোড যোগ করার পরে।
  6. ত্যাগ সমস্ত পরীক্ষা চালান (প্রস্তাবিত) নির্বাচিত এবং ক্লিক করুন পরবর্তী.
  7. বৈধতা পরীক্ষার ফলাফল পর্যালোচনা করুন এবং কোনও ত্রুটি বা সতর্কতার সমাধান করুন।
  8. ক্লিক শেষ যাচাইকরণ সফলভাবে সম্পন্ন হওয়ার পরে।
  9. ক্লাস্টার এবং আইপি ঠিকানার জন্য একটি নাম লিখুন।
  10. টিকচিহ্ন তুলে দিন ক্লাস্টারে সমস্ত যোগ্য স্টোরেজ যোগ করুন কারণ শেয়ার্ড স্টোরেজের প্রয়োজন নেই।
  11. ক্লিক পরবর্তী এবং নিশ্চিতকরণ পর্যালোচনা করুন।
  12. ক্লিক শেষ ক্লাস্টার তৈরি করতে।

ফেইলওভার ক্লাস্টার ম্যানেজারে ফেইলওভার ক্লাস্টার তৈরি করুন।

৫.২.৩ ক্লাস্টার কনফিগারেশন যাচাইকরণ

সমস্ত নোড সঠিকভাবে যোগাযোগ করতে পারে এবং ক্লাস্টার সঠিকভাবে কাজ করে তা নিশ্চিত করতে ক্লাস্টার কনফিগারেশন যাচাই করুন।

  1. In ফেলওভার ক্লাস্টার ম্যানেজার, ক্লাস্টারের নামের উপর ডান-ক্লিক করুন।
  2. নির্বাচন করা ক্লাস্টার যাচাই করুন মেনু থেকে
  3. ক্লিক পরবর্তী শুরু করার আগে পৃষ্ঠায়।
  4. নির্বাচন করা সমস্ত পরীক্ষা চালান (প্রস্তাবিত) এবং ক্লিক পরবর্তী.
  5. ক্লিক পরবর্তী যাচাইকরণ পরীক্ষা শুরু করতে।
  6. পরীক্ষা শেষ হলে বৈধতা প্রতিবেদনটি পর্যালোচনা করুন।
  7. প্রতিবেদনে চিহ্নিত যেকোনো ব্যর্থতা বা সতর্কতার সমাধান করুন।
  8. ক্লিক শেষ উইজার্ড বন্ধ করতে।

ফেইলওভার ক্লাস্টার ম্যানেজারে ফেইলওভার ক্লাস্টার যাচাই করুন।

4.3 ইনস্টল করা হচ্ছে SQL Server প্রাপ্যতা গোষ্ঠীর জন্য

ইনস্টল করুন SQL Server প্রতিটি নোডে যা স্বতন্ত্র ইনস্টলেশন বিকল্প ব্যবহার করে প্রাপ্যতা গোষ্ঠীতে অংশগ্রহণ করবে।

  1. চালান SQL Server প্রথম নোডে ইনস্টলেশন মিডিয়া।
  2. নির্বাচন করা নতুন SQL Server স্বতন্ত্র ইনস্টলেশন.
  3. পণ্য কী লিখুন অথবা মূল্যায়ন সংস্করণ নির্বাচন করুন।
  4. লাইসেন্সের শর্তাবলী স্বীকার করুন এবং ক্লিক করুন পরবর্তী.
  5. পূর্বশর্ত পরীক্ষা সম্পন্ন করুন এবং যেকোনো সমস্যা সমাধান করুন।
  6. বৈশিষ্ট্য নির্বাচন পৃষ্ঠায়, নির্বাচন করুন ডাটাবেস ইঞ্জিন পরিষেবা.
  7. ইনস্ট্যান্সের নাম কনফিগার করুন (সমস্ত নোডে একই ইনস্ট্যান্সের নাম ব্যবহার করুন)।
  8. সার্ভার কনফিগারেশন পৃষ্ঠায়, পরিষেবা অ্যাকাউন্টের শংসাপত্রগুলি নির্দিষ্ট করুন।
  9. পরিষেবা স্টার্টআপ প্রকারগুলি কনফিগার করুন যেমন স্বয়ংক্রিয়.
  10. ডাটাবেস ইঞ্জিন কনফিগারেশন পৃষ্ঠায়, প্রমাণীকরণ মোড নির্বাচন করুন।
  11. প্রশাসক অ্যাকাউন্ট যোগ করুন।
  12. সমস্ত নোড জুড়ে সামঞ্জস্যপূর্ণ পাথ ব্যবহার করে ডেটা ডিরেক্টরি কনফিগার করুন।
  13. ইনস্টলেশন সম্পূর্ণ করুন এবং সাফল্য যাচাই করুন।
  14. অন্যান্য সমস্ত ক্লাস্টার নোডে একই সেটিংস সহ ইনস্টলেশন পুনরাবৃত্তি করুন।

নতুন SQL Server স্বতন্ত্র ইনস্টলেশন

৫.৪ সর্বদা চালু থাকা গ্রুপ বৈশিষ্ট্য সক্ষম করা

ইনস্টল করার পরে SQL Server সমস্ত নোডে, প্রতিটি ইনস্ট্যান্সে সর্বদা চালু উপলব্ধতা গ্রুপ বৈশিষ্ট্যটি সক্ষম করুন।

৫.৪.১ এর মাধ্যমে সক্ষম করা হচ্ছে SQL Server কনফিগারেশন ম্যানেজার

ব্যবহার SQL Server গ্রাফিক্যাল ইন্টারফেসের মাধ্যমে সর্বদা চালু উপলব্ধতা গ্রুপগুলি সক্ষম করার জন্য কনফিগারেশন ম্যানেজার।

  1. খোলা SQL Server কনফিগারেশন ম্যানেজার প্রথম নোডে।
  2. বিস্তৃত করা SQL Server সেবা বাম পাশে
  3. ডানদিকে ক্লিক করুন SQL Server উদাহরণ এবং নির্বাচন করুন প্রোপার্টি.
  4. ক্লিক করুন সর্বদা উচ্চ উপলব্ধতা ট্যাব।
  5. চেক AlwaysOn Availability গ্রুপগুলি সক্ষম করুন.
  6. উইন্ডোজ ফেইলওভার ক্লাস্টারের নামটি সঠিক কিনা তা যাচাই করুন।
  7. ক্লিক OK পরিবর্তনগুলি সংরক্ষণ করতে
  8. ক্লিক OK পরিষেবাটি পুনরায় চালু করতে হবে এই সতর্কবার্তার ভিত্তিতে।
  9. ডানদিকে ক্লিক করুন SQL Server পরিষেবা এবং নির্বাচন করুন আবার শুরু.
  10. সার্ভিসটি সফলভাবে পুনরায় চালু হওয়া পর্যন্ত অপেক্ষা করুন।
  11. সমস্ত ক্লাস্টার নোডে পুনরাবৃত্তি করুন।

সক্ষম করা SQL Server সর্বদা উপলব্ধ গ্রুপগুলি SQL Server কনফিগারেশন ম্যানেজার

৫.৪.২ PowerShell এর মাধ্যমে সক্ষম করা

PowerShell একাধিক নোড জুড়ে সর্বদা চালু উপলব্ধতা গ্রুপ সক্ষম করার জন্য একটি স্ক্রিপ্টেড পদ্ধতি প্রদান করে।

  1. প্রথম নোডে অ্যাডমিনিস্ট্রেটর হিসেবে PowerShell খুলুন।
  2. আমদানি করুন SQL Server পাওয়ারশেল মডিউল:
    Import-Module SQLPS -DisableNameChecking
  3. সর্বদা উপলব্ধতা গ্রুপগুলি সক্ষম করুন:
    Enable-SqlAlwaysOn -ServerInstance "ServerName\InstanceName" -Force
  4. Force প্যারামিটার ব্যবহার করলে সার্ভিসটি স্বয়ংক্রিয়ভাবে পুনরায় চালু হবে।
  5. বৈশিষ্ট্যটি সক্রিয় আছে কিনা তা যাচাই করুন:
    Get-ItemProperty "SQLSERVER:\SQL\ServerName\InstanceName" | Select-Object IsHadrEnabled
  6. প্রতিটি ক্লাস্টার নোডের জন্য পুনরাবৃত্তি করুন, উপযুক্ত সার্ভার এবং ইনস্ট্যান্স নাম প্রতিস্থাপন করুন।

৫.৪.৩ বৈশিষ্ট্যটি সক্রিয় আছে কিনা তা যাচাই করা

কনফিগারেশন শুরু করার আগে যাচাই করুন যে সমস্ত ক্ষেত্রে Always On Availability Groups সক্রিয় আছে।

  1. প্রতিটির সাথে সংযোগ করুন SQL Server উদাহরণ ব্যবহার করে SQL Server ম্যানেজমেন্ট স্টুডিও
  2. একটি নতুন কোয়েরি উইন্ডো খুলুন এবং কার্যকর করুন:
    SELECT SERVERPROPERTY('IsHadrEnabled')
  3. ফলাফলটি ১ (সক্রিয়) কিনা তা যাচাই করুন।
  4. চেক করুন যে SQL Server ক্লাস্টার ভূমিকার অধীনে ফেইলওভার ক্লাস্টার ম্যানেজারে ইনস্ট্যান্সটি প্রদর্শিত হয়।
  5. এক্সিকিউট করে অ্যাভেইলিবিলিটি গ্রুপ এন্ডপয়েন্ট বিদ্যমান কিনা তা যাচাই করুন:
    SELECT * FROM sys.endpoints WHERE type_desc = 'DATABASE_MIRRORING'
  6. যদি এন্ডপয়েন্টটি বিদ্যমান না থাকে, তাহলে এটি প্রাপ্যতা গ্রুপ তৈরির সময় তৈরি করা হবে।

৫.৫ প্রাপ্যতা গোষ্ঠীর জন্য ডাটাবেস প্রস্তুত করা

একটি প্রাপ্যতা গোষ্ঠীতে যোগ করার আগে ডাটাবেসগুলিকে নির্দিষ্ট প্রয়োজনীয়তা পূরণ করতে হবে।

৫.৫.১ ডাটাবেস পুনরুদ্ধার মডেলের প্রয়োজনীয়তা

প্রাইমারি রেপ্লিকাতে ডাটাবেস পুনরুদ্ধার মডেলটি একটি প্রাপ্যতা গোষ্ঠীতে যোগ করার আগে পূর্ণাঙ্গ করুন।

  1. ব্যবহার করে প্রাথমিক প্রতিরূপের সাথে সংযোগ করুন SQL Server ম্যানেজমেন্ট স্টুডিও
  2. ডাটাবেসে ডান-ক্লিক করুন এবং নির্বাচন করুন প্রোপার্টি.
  3. নির্বাচন করুন অপশন সমূহ পাতা.
  4. পরিবর্তন পুনরুদ্ধারের মডেল থেকে পূর্ণ.
  5. ক্লিক OK পরিবর্তন বাঁচাতে।
  6. বিকল্পভাবে, Transact-SQL ব্যবহার করুন:
    ALTER DATABASE DatabaseName SET RECOVERY FULL;

ডাটাবেস পুনরুদ্ধার মডেলটি সম্পূর্ণরূপে পরিবর্তন করুন

৫.৫.২ সম্পূর্ণ ডাটাবেস ব্যাকআপ নেওয়া

প্রাপ্যতা গোষ্ঠীর জন্য প্রয়োজনীয় ব্যাকআপ চেইন স্থাপন করতে একটি সম্পূর্ণ ডাটাবেস ব্যাকআপ নিন।

  1. In SQL Server ম্যানেজমেন্ট স্টুডিওতে, ডাটাবেসে ডান ক্লিক করুন।
  2. নির্বাচন করা কাজ -> ব্যাক আপ.
  3. যাচাই করুন ব্যাকআপ প্রকার তৈরি পূর্ণ.
  4. একটি ব্যাকআপ গন্তব্য নির্বাচন করুন অথবা একটি নতুন গন্তব্য যোগ করুন।
  5. ক্লিক OK ব্যাকআপ করতে।
  6. বিকল্পভাবে, Transact-SQL ব্যবহার করুন:
    BACKUP DATABASE DatabaseName TO DISK = 'C:\Backup\DatabaseName.bak';

একটি সম্পূর্ণ ব্যাকআপ তৈরি করুন SQL Server ডাটাবেস ইন SQL Server ম্যানেজমেন্ট স্টুডিও

৫.৫.৩ লেনদেন লগের ব্যাকআপ নেওয়া

লগ চেইনটি প্রতিষ্ঠিত হয়েছে কিনা তা নিশ্চিত করতে এবং আরম্ভের সময় কমাতে একটি লেনদেন লগ ব্যাকআপ নিন।

  1. In SQL Server ম্যানেজমেন্ট স্টুডিওতে, ডাটাবেসে ডান ক্লিক করুন।
  2. নির্বাচন করা কাজ -> ব্যাক আপ.
  3. পরিবর্তন ব্যাকআপ প্রকার থেকে লেনদেন লগ.
  4. একটি ব্যাকআপ গন্তব্য নির্বাচন করুন।
  5. ক্লিক OK ব্যাকআপ করতে।
  6. বিকল্পভাবে, Transact-SQL ব্যবহার করুন:
    BACKUP LOG DatabaseName TO DISK = 'C:\Backup\DatabaseName.trn';

একটি লেনদেন লগ ব্যাকআপ তৈরি করুন SQL Server ডাটাবেস ইন SQL Server ম্যানেজমেন্ট স্টুডিও

৫.৬ প্রাপ্যতা গ্রুপ তৈরি করা

আপনার পছন্দ এবং অটোমেশনের প্রয়োজনীয়তার উপর নির্ভর করে উপলব্ধ বেশ কয়েকটি পদ্ধতির একটি ব্যবহার করে প্রাপ্যতা গোষ্ঠী তৈরি করুন।

৫.৬.১ নতুন উপলব্ধতা গ্রুপ উইজার্ড ব্যবহার করা

নতুন উপলব্ধতা গ্রুপ উইজার্ড প্রাপ্যতা গ্রুপ তৈরির জন্য একটি গ্রাফিক্যাল ইন্টারফেস প্রদান করে।

  1. In SQL Server ম্যানেজমেন্ট স্টুডিও ব্যবহার করে সেই ইনস্ট্যান্সটির সাথে সংযোগ করুন যেটি প্রাইমারি রেপ্লিকা হোস্ট করবে।
  2. বিস্তৃত করা সর্বদা উচ্চ উপলব্ধতা অবজেক্ট এক্সপ্লোরারে।
  3. সঠিক পছন্দ উপলভ্যতা গোষ্ঠীগুলি এবং নির্বাচন করুন নতুন উপলব্ধতা গ্রুপ উইজার্ড.
    একটি নতুন অ্যাভেইলেবিলিটি গ্রুপ তৈরি করতে নতুন অ্যাভেইলেবিলিটি গ্রুপ উইজার্ড শুরু করুন। SQL Server সর্বদা উপলব্ধ গ্রুপে
  4. ক্লিক পরবর্তী ভূমিকা পৃষ্ঠায়।
  5. প্রাপ্যতা গোষ্ঠীর জন্য একটি নাম লিখুন এবং ক্লিক করুন পরবর্তী.
  6. ডাটাবেস নির্বাচন করুন পৃষ্ঠায়, অন্তর্ভুক্ত করার জন্য ডাটাবেসগুলি নির্বাচন করুন।
  7. যাচাই করুন যে ডাটাবেসগুলি সমস্ত পূর্বশর্ত পূরণ করে এবং ক্লিক করুন পরবর্তী.
  8. স্পেসিফিক রেপ্লিকাস পৃষ্ঠায়, ক্লিক করুন প্রতিলিপি যোগ করুন.
  9. প্রতিটি সেকেন্ডারি রেপ্লিকা ইনস্ট্যান্সের সাথে সংযোগ করুন।
  10. প্রতিটি উদাহরণের জন্য প্রতিরূপ বৈশিষ্ট্য কনফিগার করুন (উপলব্ধতা মোড, ফেইলওভার মোড)।
  11. ক্লিক করুন সমাপ্তি ট্যাব এবং পর্যালোচনা এন্ডপয়েন্ট কনফিগারেশন।
  12. ক্লিক করুন ব্যাকআপ পছন্দসমূহ ট্যাব এবং ব্যাকআপ অগ্রাধিকার কনফিগার করুন।
  13. ক্লিক করুন শ্রোতা ট্যাব এবং ঐচ্ছিকভাবে একটি শ্রোতা তৈরি করুন।
  14. ক্লিক পরবর্তী এবং ডেটা সিঙ্ক্রোনাইজেশন পদ্ধতি নির্বাচন করুন।
  15. যাচাইকরণের ফলাফল পর্যালোচনা করুন এবং যেকোনো সমস্যা সমাধান করুন।
  16. ক্লিক পরবর্তী এবং সারাংশটি পর্যালোচনা করুন।
  17. ক্লিক শেষ প্রাপ্যতা গ্রুপ তৈরি করতে।
  18. অগ্রগতি পর্যবেক্ষণ করুন এবং সফল সৃষ্টি যাচাই করুন।

৫.৬.২ ট্রানজ্যাক্ট-এসকিউএল ব্যবহার করা

স্ক্রিপ্টেবল, পুনরাবৃত্তিযোগ্য স্থাপনার জন্য Transact-SQL ব্যবহার করে প্রাপ্যতা গোষ্ঠী তৈরি করুন।

  1. প্রাথমিক প্রতিরূপে প্রাপ্যতা গ্রুপ তৈরি করুন:
    CREATE AVAILABILITY GROUP AG_Name
    FOR DATABASE DatabaseName
    REPLICA ON
      'PrimaryServer\Instance' WITH
        (ENDPOINT_URL = 'TCP://PrimaryServer:5022',
         AVAILABILITY_MODE = SYNCHRONOUS_COMMIT,
         FAILOVER_MODE = AUTOMATIC,
         SECONDARY_ROLE(ALLOW_CONNECTIONS = ALL)),
      'SecondaryServer\Instance' WITH
        (ENDPOINT_URL = 'TCP://SecondaryServer:5022',
         AVAILABILITY_MODE = SYNCHRONOUS_COMMIT,
         FAILOVER_MODE = AUTOMATIC,
         SECONDARY_ROLE(ALLOW_CONNECTIONS = ALL));
  2. প্রাপ্যতা গ্রুপে সেকেন্ডারি রেপ্লিকা যোগদান করুন:
    ALTER AVAILABILITY GROUP AG_Name JOIN;
  3. সেকেন্ডারি ডাটাবেসে যোগদান করুন:
    ALTER DATABASE DatabaseName SET HADR AVAILABILITY GROUP = AG_Name;

4.6.3 PowerShell ব্যবহার করে

পাওয়ারশেল প্রাপ্যতা গ্রুপ তৈরি এবং পরিচালনার জন্য স্ক্রিপ্টিং ক্ষমতা প্রদান করে।

  1. প্রাপ্যতা গ্রুপ অবজেক্ট তৈরি করুন:
    $AG = New-SqlAvailabilityGroup -Name "AG_Name" -Path "SQLSERVER:\SQL\PrimaryServer\Instance"
  2. ডাটাবেস যোগ করুন:
    Add-SqlAvailabilityDatabase -Path "SQLSERVER:\SQL\PrimaryServer\Instance\AvailabilityGroups\AG_Name" -Database "DatabaseName"
  3. New-SqlAvailabilityReplica cmdlet ব্যবহার করে পছন্দসই বৈশিষ্ট্য সহ প্রতিলিপি কনফিগার করুন।
  4. Join-SqlAvailabilityGroup cmdlet ব্যবহার করে সেকেন্ডারি রেপ্লিকা যোগ করুন।

৫.৭ প্রাপ্যতা গোষ্ঠীতে প্রতিলিপি যোগ করা

প্রতিটি ইনস্ট্যান্স প্রাপ্যতা গোষ্ঠীতে কীভাবে অংশগ্রহণ করবে তা নিয়ন্ত্রণ করে এমন প্রতিলিপি-নির্দিষ্ট বৈশিষ্ট্যগুলি কনফিগার করুন।

৫.৭.১ রেপ্লিকা বৈশিষ্ট্য কনফিগার করা

প্রাপ্যতা গোষ্ঠীর মধ্যে প্রতিটি প্রতিরূপের ভূমিকা এবং ক্ষমতা নির্ধারণের জন্য বৈশিষ্ট্য নির্ধারণ করুন।

  1. In SQL Server ম্যানেজমেন্ট স্টুডিও, প্রসারিত করুন সর্বদা উচ্চ উপলব্ধতা -> উপলভ্যতা গোষ্ঠীগুলি.
  2. প্রাপ্যতা গ্রুপটি প্রসারিত করুন এবং তারপর প্রসারিত করুন প্রাপ্যতা প্রতিলিপি.
    প্রাপ্যতা প্রতিলিপি SQL Server সর্বদা উপলভ্যতা গ্রুপগুলিতে
  3. একটি প্রতিরূপে ডান-ক্লিক করুন এবং নির্বাচন করুন প্রোপার্টি.
  4. প্রাথমিক এবং মাধ্যমিক ভূমিকার জন্য সংযোগ সেটিংস পর্যালোচনা এবং সংশোধন করুন।
  5. প্রয়োজনে সেশন টাইমআউট মান কনফিগার করুন।
  6. ক্লিক OK পরিবর্তন সংরক্ষণ করুন।

৫.৭.২ প্রাপ্যতা মোড নির্ধারণ করা

প্রতিলিপিগুলির মধ্যে সিঙ্ক্রোনাইজেশন আচরণ নিয়ন্ত্রণ করতে প্রাপ্যতা মোড কনফিগার করুন।

  1. প্রাপ্যতা গোষ্ঠীতে ডান-ক্লিক করুন এবং নির্বাচন করুন প্রোপার্টি.
  2. মধ্যে সাধারণ পৃষ্ঠা, যান প্রাপ্যতা প্রতিলিপি অধ্যায়.
  3. প্রতিটি প্রতিলিপির জন্য, নির্বাচন করুন সিঙ্ক্রোনাস কমিট or অ্যাসিঙ্ক্রোনাস কমিট ড্রপডাউন থেকে।
  4. স্থানীয় উচ্চ প্রাপ্যতা প্রতিরূপের জন্য সিঙ্ক্রোনাস কমিট ব্যবহার করুন।
  5. ভৌগোলিকভাবে দূরবর্তী দুর্যোগ পুনরুদ্ধারের প্রতিরূপের জন্য অ্যাসিঙ্ক্রোনাস কমিট ব্যবহার করুন।
  6. ক্লিক OK কনফিগারেশন সংরক্ষণ করতে।

প্রাপ্যতা প্রতিরূপের জন্য প্রাপ্যতা মোড সেট করা

৫.৭.৩ ফেইলওভার মোড সেট করা

প্রতিটি প্রতিরূপের জন্য ফেইলওভার কীভাবে ঘটে তা নিয়ন্ত্রণ করতে ফেইলওভার মোড কনফিগার করুন।

  1. প্রাপ্যতা গোষ্ঠীতে ডান-ক্লিক করুন এবং নির্বাচন করুন প্রোপার্টি.
  2. মধ্যে সাধারণ পৃষ্ঠা, যান প্রাপ্যতা প্রতিলিপি অধ্যায়.
  3. সিঙ্ক্রোনাস কমিট রেপ্লিকাগুলির জন্য, নির্বাচন করুন স্বয়ংক্রিয় or ম্যানুয়াল ফেইলওভার মোড।
  4. স্বয়ংক্রিয় ফেলওভারের জন্য সিঙ্ক্রোনাস কমিট মোড প্রয়োজন এবং অপ্রয়োজনীয় ফেলওভার সক্ষম করে।
  5. অ্যাসিঙ্ক্রোনাস কমিট রেপ্লিকাগুলির জন্য, শুধুমাত্র ম্যানুয়াল ফেলওভার উপলব্ধ।
  6. স্বয়ংক্রিয় ফেইলওভারের জন্য সর্বাধিক তিনটি প্রতিলিপি কনফিগার করুন (একটি প্রাথমিক এবং দুটি মাধ্যমিক)।
  7. ক্লিক OK সেটিংস প্রয়োগ করতে।

প্রাপ্যতা প্রতিলিপির জন্য ফেইলওভার মোড সেট করুন

৫.৭.৪ ব্যাকআপ পছন্দগুলি কনফিগার করা

ব্যাকআপ অপারেশন কোথায় করা উচিত তা নিয়ন্ত্রণ করতে ব্যাকআপ পছন্দগুলি সেট করুন।

  1. প্রাপ্যতা গোষ্ঠীতে ডান-ক্লিক করুন এবং নির্বাচন করুন প্রোপার্টি.
  2. নির্বাচন করা ব্যাকআপ পছন্দসমূহ বাম পাশে
  3. ব্যাকআপ পছন্দগুলির মধ্যে একটি বেছে নিন:
    • মাধ্যমিক পছন্দ করুন: যদি পাওয়া যায় তাহলে সেকেন্ডারিতে ব্যাকআপ, অন্যথায় প্রাথমিক
    • শুধুমাত্র মাধ্যমিক: শুধুমাত্র সেকেন্ডারি রেপ্লিকেশনে ব্যাকআপ
    • প্রাথমিক: শুধুমাত্র প্রাথমিক প্রতিরূপে ব্যাকআপ
    • যেকোনো প্রতিরূপ: যেকোনো উপলব্ধ প্রতিরূপের ব্যাকআপ
  4. প্রতিটি প্রতিরূপের জন্য ব্যাকআপ অগ্রাধিকার মান সেট করুন (0-100)।
  5. উচ্চতর অগ্রাধিকার মানগুলি পছন্দের ব্যাকআপ লক্ষ্যবস্তু নির্দেশ করে।
  6. ক্লিক OK পছন্দগুলি সংরক্ষণ করতে।

প্রাপ্যতা গোষ্ঠীর জন্য ব্যাকআপ পছন্দগুলি কনফিগার করুন

৫.৮ অ্যাভেইলেবিলিটি গ্রুপ লিসেনার কনফিগার করা

একটি একক সংযোগ বিন্দু প্রদানের জন্য একটি শ্রোতা তৈরি করুন যা স্বয়ংক্রিয়ভাবে বর্তমান প্রাথমিক প্রতিরূপে পুনঃনির্দেশিত হয়।

৫.৮.১ শ্রোতা তৈরি করা

ক্লায়েন্ট সংযোগ ব্যবস্থাপনার জন্য প্রাপ্যতা গোষ্ঠীতে একজন শ্রোতা যোগ করুন।

  1. In SQL Server ম্যানেজমেন্ট স্টুডিও, প্রাপ্যতা গ্রুপটি প্রসারিত করুন।
  2. সঠিক পছন্দ গ্রুপ লিসেনারের প্রাপ্যতা এবং নির্বাচন করুন শ্রোতা যোগ করুন.
    প্রাপ্যতা গ্রুপে শ্রোতা যোগ করুন
  3. শ্রোতার জন্য একটি DNS নাম লিখুন (উদাহরণস্বরূপ, AG_Listener)।
  4. পোর্ট নম্বরটি লিখুন (ডিফল্ট হল ১৪৩৩)।
  5. নির্বাচন করা স্ট্যাটিক আইপি নেটওয়ার্ক মোডের জন্য।
  6. ক্লিক বিজ্ঞাপন প্রতিটি সাবনেটের জন্য একটি আইপি ঠিকানা যোগ করতে।
  7. আইপি ঠিকানা লিখুন এবং সাবনেট নির্বাচন করুন।
  8. ক্লিক OK শ্রোতা তৈরি করতে।
  9. শ্রোতাটি অবজেক্ট এক্সপ্লোরারে উপস্থিত হয়েছে এবং অনলাইনে আছে কিনা তা যাচাই করুন।

৫.৮.২ DNS এবং IP সেটিংস কনফিগার করা

শ্রোতার জন্য DNS নিবন্ধন এবং নেটওয়ার্ক কনফিগারেশন যাচাই করুন।

  1. ডোমেন কন্ট্রোলারে DNS ম্যানেজার খুলুন।
  2. শ্রোতার নাম সমস্ত আইপি ঠিকানার সাথে নিবন্ধিত আছে কিনা তা যাচাই করুন।
  3. ক্লায়েন্ট মেশিন থেকে DNS রেজোলিউশন পরীক্ষা করুন:
    nslookup ListenerName
  4. সমস্ত কনফিগার করা আইপি ঠিকানা ফেরত পাঠানো হয়েছে কিনা তা যাচাই করুন।
  5. ফেইলওভার ক্লাস্টার ম্যানেজারে, প্রসারিত করুন ভূমিকা এবং প্রাপ্যতা গ্রুপ নির্বাচন করুন।
  6. আইপি অ্যাড্রেস রিসোর্সগুলি অনলাইনে আছে কিনা তা যাচাই করুন।
  7. নেটওয়ার্ক নামের রিসোর্সটি অনলাইনে আছে কিনা তা পরীক্ষা করুন।
    শ্রোতার আইপি ঠিকানা এবং নেটওয়ার্ক নাম রিসোর্স যাচাই করুন।

৫.৮.৩ শ্রোতা সংযোগ পরীক্ষা করা

ক্লায়েন্ট অ্যাপ্লিকেশনগুলি শ্রোতার মাধ্যমে সংযোগ করতে পারে কিনা তা যাচাই করুন।

  1. একটি ক্লায়েন্ট মেশিন থেকে, খুলুন SQL Server ম্যানেজমেন্ট স্টুডিও
  2. সার্ভারের নামের পরিবর্তে শ্রোতার নাম ব্যবহার করে সংযোগ করুন।
  3. বর্তমান প্রাথমিক প্রতিরূপের সাথে সংযোগ যাচাই করার জন্য একটি কোয়েরি সম্পাদন করুন:
    SELECT @@SERVERNAME;
  4. সংযোগ স্ট্রিং-এ ApplicationIntent=ReadOnly যোগ করে রিড-ইন্টেন্ট রাউটিং পরীক্ষা করুন।
  5. একটি পঠনযোগ্য সেকেন্ডারি প্রতিরূপে সংযোগ পুনঃনির্দেশনা যাচাই করুন।
  6. প্রাপ্যতা গ্রুপে ম্যানুয়ালি ব্যর্থ হয়ে এবং পুনঃসংযোগ যাচাই করে ব্যর্থতা পরীক্ষা করুন।

৫.৯ ডেটা সিঙ্ক্রোনাইজেশন পদ্ধতি

ডাটাবেস কপি দিয়ে সেকেন্ডারি রেপ্লিকা শুরু করার জন্য একটি ডেটা সিঙ্ক্রোনাইজেশন পদ্ধতি বেছে নিন।

৫.৯.১ স্বয়ংক্রিয় বীজ বপন

স্বয়ংক্রিয় বীজ বপন ম্যানুয়াল ব্যাকআপ এবং পুনরুদ্ধারের প্রয়োজন ছাড়াই নেটওয়ার্কের মাধ্যমে ডাটাবেস ডেটা স্থানান্তর করে।

  1. প্রাপ্যতা গ্রুপ তৈরির সময়, নির্বাচন করুন স্বয়ংক্রিয় বীজ বপন সিঙ্ক্রোনাইজেশন পদ্ধতি হিসাবে।
    প্রাপ্যতা গ্রুপে স্বয়ংক্রিয় বীজ বপন
  2. প্রতিলিপিগুলির মধ্যে নেটওয়ার্ক সংযোগ এবং পর্যাপ্ত ব্যান্ডউইথ নিশ্চিত করুন।
  3. প্রাথমিক প্রতিলিপি স্বয়ংক্রিয়ভাবে ডাটাবেস ডেটা সেকেন্ডারি প্রতিলিপিতে প্রবাহিত করে।
  4. প্রাপ্যতা গ্রুপ ড্যাশবোর্ড বা DMV ব্যবহার করে বীজ বপনের অগ্রগতি পর্যবেক্ষণ করুন।
  5. স্বয়ংক্রিয় বীজ বপনের প্রয়োজন SQL Server 2016 বা পরে।
  6. বৃহৎ ডাটাবেসের জন্য, কম ব্যবহারের সময়কালে নেটওয়ার্ক প্রভাব এবং সময়সূচী বিবেচনা করুন।

৫.৯.২ ম্যানুয়াল বীজ বপন (ব্যাকআপ এবং পুনরুদ্ধার)

ম্যানুয়াল সিডিং এর মধ্যে রয়েছে প্রাথমিকের ব্যাকআপ নেওয়া এবং সেকেন্ডারি রেপ্লিকাগুলিতে সেগুলি পুনরুদ্ধার করা।

  1. প্রাথমিক প্রতিরূপে, সম্পূর্ণ ব্যাকআপ নিন:
    BACKUP DATABASE DatabaseName TO DISK = '\\SharePath\DatabaseName.bak';
  2. লেনদেন লগের ব্যাকআপ নিন:
    BACKUP LOG DatabaseName TO DISK = '\\SharePath\DatabaseName.trn';
  3. প্রতিটি সেকেন্ডারি রেপ্লিকায়, সম্পূর্ণ ব্যাকআপ পুনরুদ্ধার করুন:
    RESTORE DATABASE DatabaseName FROM DISK = '\\SharePath\DatabaseName.bak' WITH NORECOVERY;
  4. লগ ব্যাকআপ পুনরুদ্ধার করুন:
    RESTORE LOG DatabaseName FROM DISK = '\\SharePath\DatabaseName.trn' WITH NORECOVERY;
  5. প্রাপ্যতা গ্রুপে ডাটাবেস যোগদান করুন:
    ALTER DATABASE DatabaseName SET HADR AVAILABILITY GROUP = AG_Name;
  6. সিঙ্ক্রোনাইজেশন শুরু হয়েছে এবং ডাটাবেসটি সিঙ্ক্রোনাইজড অবস্থায় পৌঁছেছে কিনা তা যাচাই করুন।

৫.৯.৩ ডাটাবেস স্ন্যাপশট ফাইল

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

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

5। প্রায়শই জিজ্ঞাসিত প্রশ্নাবলী

5.1 সাধারণ প্রশ্ন

প্রশ্ন: অলওয়েজ অন এফসিআই এবং অলওয়েজ অন এজি-র মধ্যে পার্থক্য কী?

A: সর্বদা অন ফেইলওভার ক্লাস্টার ইনস্ট্যান্সগুলি শেয়ার্ড স্টোরেজ ব্যবহার করে ইনস্ট্যান্স-লেভেল উচ্চ প্রাপ্যতা প্রদান করে, অন্যদিকে সর্বদা অন অ্যাভাইলেবিলিটি গ্রুপগুলি শেয়ার্ড স্টোরেজ ছাড়াই ডাটাবেস-লেভেল উচ্চ প্রাপ্যতা প্রদান করে। AG পঠনযোগ্য সেকেন্ডারি এবং আরও নমনীয় ভৌগোলিক বিতরণ অফার করে।

প্রশ্ন: আমি কি সর্বদা চালু থাকা গ্রুপগুলি ব্যবহার করতে পারি? SQL Server স্ট্যান্ডার্ড সংস্করণ?

উত্তর: হ্যাঁ, SQL Server ২০১৬ স্ট্যান্ডার্ড সংস্করণ এবং পরবর্তী সংস্করণগুলি বেসিক অ্যাভেইলিবিলিটি গ্রুপগুলিকে সমর্থন করে, যার সীমাবদ্ধতা রয়েছে প্রতি AG-তে একটি ডাটাবেস, সর্বাধিক দুটি প্রতিলিপি এবং কোনও পঠনযোগ্য সেকেন্ডারি সাপোর্ট নেই।

প্রশ্ন: অলওয়েজ অন অ্যাভেইলেবিলিটি গ্রুপের জন্য কি আমার শেয়ার্ড স্টোরেজের প্রয়োজন?

উত্তর: না, প্রাপ্যতা গোষ্ঠীগুলির জন্য ভাগ করা স্টোরেজের প্রয়োজন হয় না। প্রতিটি প্রতিলিপি স্থানীয় স্টোরেজে ডাটাবেসের স্বাধীন কপি বজায় রাখে, লেনদেন লগ শিপিংয়ের মাধ্যমে সিঙ্ক্রোনাইজ করা হয়।

প্রশ্ন: একটি প্রাপ্যতা গোষ্ঠীতে সর্বোচ্চ কত সংখ্যক প্রতিলিপি থাকতে পারে?

A: SQL Server এন্টারপ্রাইজ সংস্করণে সর্বাধিক নয়টি প্রতিলিপি (একটি প্রাথমিক এবং আটটি মাধ্যমিক) সমর্থন করে। বিতরণকৃত প্রাপ্যতা গোষ্ঠী দুটি প্রাপ্যতা গোষ্ঠীতে মোট ১৮টি প্রতিলিপি সমর্থন করতে পারে।

৬.২ কনফিগারেশন প্রশ্নাবলী

প্রশ্ন: সিঙ্ক্রোনাস এবং অ্যাসিনক্রোনাস কমিট মোডের মধ্যে আমি কীভাবে নির্বাচন করব?

A: একই ডেটা সেন্টার বা কম-বিলম্বিত নেটওয়ার্কের মধ্যে শূন্য ডেটা ক্ষতির প্রয়োজনীয়তার জন্য সিঙ্ক্রোনাস কমিট ব্যবহার করুন। দূরবর্তী দুর্যোগ পুনরুদ্ধারের প্রতিরূপের জন্য অ্যাসিঙ্ক্রোনাস কমিট ব্যবহার করুন যেখানে সিঙ্ক্রোনাস কমিট কর্মক্ষমতাকে প্রভাবিত করবে।

প্রশ্ন: আমি কি একই প্রাপ্যতা গোষ্ঠীতে সিঙ্ক্রোনাস এবং অ্যাসিনক্রোনাস প্রতিলিপি মিশ্রিত করতে পারি?

উত্তর: হ্যাঁ, প্রাপ্যতা গোষ্ঠীগুলি সিঙ্ক্রোনাস এবং অ্যাসিনক্রোনাস উভয় প্রতিলিপির সাথে মিশ্র কনফিগারেশন সমর্থন করে। এটি সিঙ্ক্রোনাস প্রতিলিপির সাথে স্থানীয় উচ্চ প্রাপ্যতা এবং অ্যাসিনক্রোনাস প্রতিলিপির সাথে দূরবর্তী দুর্যোগ পুনরুদ্ধার সক্ষম করে।

প্রশ্ন: ফেইলওভারের সময় আমার সংযোগগুলির কী হবে?

A: ফেইলওভার ঘটলে বিদ্যমান সংযোগগুলি বন্ধ হয়ে যায়। সংযোগ পুনঃচেষ্টা লজিক সহ অ্যাপ্লিকেশনগুলি শ্রোতার মাধ্যমে স্বয়ংক্রিয়ভাবে নতুন প্রাথমিকের সাথে পুনরায় সংযোগ স্থাপন করে। ফেইলওভার প্রক্রিয়াটি সাধারণত কয়েক সেকেন্ড থেকে কয়েক মিনিটের মধ্যে সম্পন্ন হয়।

প্রশ্ন: আমার কি প্রতিলিপি জুড়ে লগইন এবং কাজ সিঙ্ক্রোনাইজ করতে হবে?

উঃ ইন SQL Server ২০১৯ এবং তার আগের, হ্যাঁ - লগইন, SQL এজেন্ট জব এবং লিঙ্ক করা সার্ভারগুলি ম্যানুয়ালি সিঙ্ক্রোনাইজ করতে হবে। SQL Server ২০২২ সালে অন্তর্ভুক্ত প্রাপ্যতা গোষ্ঠীগুলি চালু করা হয়েছে যা স্বয়ংক্রিয়ভাবে এই বস্তুগুলিকে অন্তর্ভুক্ত করে।

৬.৩ ব্যবস্থাপনা প্রশ্নাবলী

প্রশ্ন: আমি কি সেকেন্ডারি রেপ্লিকাগুলিতে ব্যাকআপ চালাতে পারি?

উত্তর: হ্যাঁ, সেকেন্ডারি রেপ্লিকাগুলি পূর্ণ, ডিফারেনশিয়াল এবং লেনদেন লগ ব্যাকআপ সমর্থন করে। প্রাথমিক রেপ্লিকা থেকে ব্যাকআপ অফলোড করতে এবং এর রিসোর্স ব্যবহার কমাতে ব্যাকআপ পছন্দগুলি কনফিগার করুন।

প্রশ্ন: আমি কিভাবে প্যাচ করব? SQL Server ন্যূনতম ডাউনটাইম সহ?

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

প্রশ্ন: আমি কি বিদ্যমান প্রাপ্যতা গোষ্ঠীতে ডাটাবেস যোগ করতে পারি?

উত্তর: হ্যাঁ, চলমান উপলভ্যতা গোষ্ঠীতে ডাটাবেস যোগ করা যেতে পারে। ডাটাবেসটি সম্পূর্ণ ব্যাকআপ সহ সম্পূর্ণ পুনরুদ্ধার মডেলে থাকতে হবে এবং সেকেন্ডারি প্রতিলিপিগুলি স্বয়ংক্রিয় সিডিং বা ম্যানুয়াল ব্যাকআপ এবং পুনরুদ্ধার ব্যবহার করে সিড করতে হবে।

প্রশ্ন: স্বয়ংক্রিয় বীজ বপন কী এবং আমার কি এটি ব্যবহার করা উচিত?

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

প্রশ্ন: একটি প্রাপ্যতা গ্রুপে আমার কোথায় DBCC CHECKDB চালানো উচিত?

উত্তর: প্রাথমিক প্রতিরূপের উপর লোড কমাতে আপনার সেকেন্ডারি প্রতিরূপগুলিতে DBCC CHECKDB চালানো উচিত। প্রাথমিক প্রতিরূপের কর্মক্ষমতা প্রভাবিত না করেই সেকেন্ডারি ডাটাবেসের বিরুদ্ধে ডাটাবেসের সামঞ্জস্য পরীক্ষা করা যেতে পারে।

DBCC CHECKDB সম্পর্কে আরও বিস্তারিত জানার জন্য, আমাদের দেখুন ব্যাপক গাইড.

১০.৫ সমস্যা সমাধানের প্রশ্ন

প্রশ্ন: আমার ডাটাবেস কেন সিঙ্ক্রোনাইজিং অবস্থায় নেই?

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

প্রশ্ন: যখন প্রাথমিকটি অনুপলব্ধ থাকে তখন আমি কীভাবে জোর করে ফেলওভার করব?

A: একটি সেকেন্ডারি রেপ্লিকার সাথে সংযোগ করুন এবং ALTER AVAILABILITY GROUP AG_Name FORCE_FAILOVER_ALLOW_DATA_LOSS কার্যকর করুন। এটি সম্ভাব্য ডেটা ক্ষতি স্বীকার করে এবং সেকেন্ডারিটিকে অবিলম্বে প্রাইমারিতে উন্নীত করে।

প্রশ্ন: কেন ক্লায়েন্টরা আমার শ্রোতার সাথে সংযোগ স্থাপন করতে পারছে না?

A: ফেইলওভার ক্লাস্টার ম্যানেজারে শ্রোতা অনলাইনে আছে কিনা তা যাচাই করুন, DNS নিবন্ধন সফল হয়েছে, ক্লায়েন্টদের কাছ থেকে সমস্ত শ্রোতার IP ঠিকানায় পৌঁছানো সম্ভব এবং ফায়ারওয়াল নিয়ম শ্রোতার পোর্টে ট্র্যাফিকের অনুমতি দেয়।

প্রশ্ন: একটি বৃহৎ রিডো কিউ বলতে কী বোঝায়?

উত্তর: একটি বৃহৎ রিডু কিউ ইঙ্গিত দেয় যে সেকেন্ডারি রেপ্লিকা যত দ্রুত পৌঁছায় তত দ্রুত লগ রেকর্ড প্রয়োগ করতে পারে না। এটি ডিস্ক I/O বাধা, CPU সীমাবদ্ধতা, অথবা সেকেন্ডারিতে কেবল পঠনযোগ্য কোয়েরি থেকে ব্লকিং নির্দেশ করতে পারে।

প্রশ্ন: যদি কোনও দুর্যোগ সমস্ত প্রতিলিপিকে প্রভাবিত করে এবং আমার ব্যাকআপগুলিও দূষিত হয় তবে আমার কী করা উচিত?

এই সবচেয়ে খারাপ পরিস্থিতিটি, যদিও অত্যন্ত বিরল, র‍্যানসমওয়্যার আক্রমণ, ব্যাপক স্টোরেজ ব্যর্থতা বা ধারাবাহিক বিপর্যয়ের কারণে ঘটতে পারে। আপনার প্রাথমিক প্রতিরক্ষা হলো প্রতিরোধ: ভৌগোলিকভাবে বিভক্ত রেপ্লিকা বজায় রাখুন, ব্যাকআপগুলি আলাদা স্থানে সংরক্ষণ করুন, এবং
নিয়মিতভাবে আপনার দুর্যোগ পুনরুদ্ধার পদ্ধতি পরীক্ষা করুন। যদি সমস্ত স্ট্যান্ডার্ড পুনরুদ্ধার বিকল্প ব্যর্থ হয়, তাহলে একজন বিশেষজ্ঞ SQL ডেটা পুনরুদ্ধার টুল জরুরি অবস্থায় শেষ ব্যবস্থা হিসেবে ক্ষতিগ্রস্ত MDF ফাইল থেকে তথ্য বের করার চেষ্টা করতে পারে।

৫.৫ লাইসেন্সিং এবং খরচ সংক্রান্ত প্রশ্নাবলী

প্রশ্ন: সর্বদা অন অ্যাভেইলিবিলিটি গ্রুপগুলি কীভাবে লাইসেন্সপ্রাপ্ত হয়?

A: SQL Server লাইসেন্সিং সংস্করণ এবং স্থাপনার মডেলের উপর নির্ভর করে। এন্টারপ্রাইজ সংস্করণের প্রাপ্যতা গোষ্ঠীগুলির জন্য সমস্ত প্রতিলিপির জন্য এন্টারপ্রাইজ লাইসেন্স প্রয়োজন। প্যাসিভ সেকেন্ডারি প্রতিলিপিগুলি নির্দিষ্ট শর্তে বিনামূল্যে লাইসেন্সের জন্য যোগ্য হতে পারে।

প্রশ্নঃ আমি ব্যবহার করতে পারি SQL Server প্রাপ্যতা গোষ্ঠীর জন্য বিকাশকারী সংস্করণ?

উত্তর: হ্যাঁ, ডেভেলপার সংস্করণে সমস্ত এন্টারপ্রাইজ সংস্করণ বৈশিষ্ট্য অন্তর্ভুক্ত রয়েছে যার মধ্যে সম্পূর্ণ উপলব্ধতা গ্রুপ সমর্থন অন্তর্ভুক্ত রয়েছে। তবে, এটি শুধুমাত্র উন্নয়ন এবং পরীক্ষার জন্য লাইসেন্সপ্রাপ্ত, উৎপাদন ব্যবহারের জন্য নয়।

প্রশ্ন: পঠনযোগ্য সেকেন্ডারিগুলির জন্য কি অতিরিক্ত লাইসেন্সের প্রয়োজন হয়?

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

প্রশ্ন: উচ্চ প্রাপ্যতা পাওয়ার কি কোন বিনামূল্যের উপায় আছে? SQL Server?

A: SQL Server এক্সপ্রেস সংস্করণ প্রাপ্যতা গোষ্ঠীগুলিকে সমর্থন করে না। SQL Server স্ট্যান্ডার্ড এডিশন বেসিক অ্যাভেইলেবিলিটি গ্রুপ সমর্থন করে যা শুরু হয় SQL Server ২০১৬, স্ট্যান্ডার্ড এডিশন লাইসেন্সিং খরচে মৌলিক উচ্চ প্রাপ্যতা প্রদান করা হচ্ছে।

প্রশ্ন: বিতরণকৃত প্রাপ্যতা গোষ্ঠীগুলি কী কী?

A: বিতরণকৃত প্রাপ্যতা গোষ্ঠী হল একটি বিশেষ ধরণের প্রাপ্যতা গোষ্ঠী যা দুটি পৃথক প্রাপ্যতা গোষ্ঠীকে বিস্তৃত করে, যা ঐতিহ্যবাহী প্রাপ্যতা গোষ্ঠীর ক্ষমতাকে ছাড়িয়ে যায় এমন পরিস্থিতিগুলিকে সক্ষম করে। SQL Server ২০১৬ সালে, বিতরণকৃত প্রাপ্যতা গোষ্ঠীগুলি স্কেলিং এবং ভৌগোলিক বিতরণের প্রয়োজনীয়তাগুলি মোকাবেলা করে।

6. উপসংহার

6.1 মূল পয়েন্টের সারাংশ

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

৭.২ কখন সর্বদা উপলব্ধ গ্রুপ ব্যবহার করবেন

স্বয়ংক্রিয় ফেলওভার ক্ষমতা সহ ডাটাবেস-স্তরের উচ্চ প্রাপ্যতার প্রয়োজন হলে প্রাপ্যতা গোষ্ঠীগুলি নির্বাচন করুন। গুরুত্বপূর্ণ ডাটাবেসের জন্য শূন্য ডেটা ক্ষতি সুরক্ষার প্রয়োজন এমন সংস্থাগুলি স্বয়ংক্রিয় ফেলওভার সহ সিঙ্ক্রোনাস কমিট রেপ্লিকাগুলি থেকে উপকৃত হয়। পঠন-স্কেল ক্ষমতার প্রয়োজন এমন অ্যাপ্লিকেশনগুলি কোয়েরি ওয়ার্কলোড বিতরণের জন্য পঠনযোগ্য সেকেন্ডারি রেপ্লিকাগুলিকে কাজে লাগায়।

৬.৩ আপনার বাস্তবায়ন শুরু করা

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

তথ্যসূত্র


লেখক সম্পর্কে

ইউয়ান সেং একজন সিনিয়র ডাটাবেস অ্যাডমিনিস্ট্রেটর (DBA) যার ১০ বছরেরও বেশি অভিজ্ঞতা রয়েছে SQL Server পরিবেশ এবং এন্টারপ্রাইজ ডাটাবেস ব্যবস্থাপনা। তিনি আর্থিক পরিষেবা, স্বাস্থ্যসেবা এবং উৎপাদন সংস্থা জুড়ে শত শত ডাটাবেস পুনরুদ্ধারের পরিস্থিতি সফলভাবে সমাধান করেছেন।

ইউয়ান বিশেষজ্ঞ SQL Server ডাটাবেস পুনরুদ্ধার, উচ্চ প্রাপ্যতা সমাধান এবং কর্মক্ষমতা অপ্টিমাইজেশন। তার ব্যাপক বাস্তব অভিজ্ঞতার মধ্যে রয়েছে মাল্টি-টেরাবাইট ডাটাবেস পরিচালনা, সর্বদা অন প্রাপ্যতা গ্রুপ বাস্তবায়ন এবং মিশন-সমালোচনামূলক ব্যবসায়িক সিস্টেমের জন্য স্বয়ংক্রিয় ব্যাকআপ এবং পুনরুদ্ধার কৌশল তৈরি করা।

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

সম্পর্কে প্রশ্ন আছে SQL Server পুনরুদ্ধারের প্রয়োজন নাকি অতিরিক্ত ডাটাবেস সমস্যা সমাধানের নির্দেশিকা প্রয়োজন? ইউয়ান স্বাগত জানায়? প্রতিক্রিয়া এবং পরামর্শ এই প্রযুক্তিগত সম্পদ উন্নত করার জন্য।

এখন শেয়ার: