মূল সার্ভার শারীরিকভাবে অফলাইনে গেলে সি # তে ডিবি অটো ফেলিওভার কাজ করে না


9

আমি এসকিউএল সার্ভার ২০০৮ এর সাথে সি # তে ডিবি অটো ফেলওভার সেট আপ করছি এবং সাক্ষী সেটআপ ব্যবহার করে আমার একটি 'স্বয়ংক্রিয় ফেইলওভার মিরর সহ উচ্চ সুরক্ষা' রয়েছে এবং আমার সংযোগের স্ট্রিং দেখতে দেখতে

"Server=tcp:DC01; Failover Partner=tcp:DC02; database=dbname; uid=sewebsite;pwd=somerndpwd;Connect Timeout=10;Pooling=True;"

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

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

এই ডিবি অটো ব্যর্থতার কাজ করতে আমি কী অনুপস্থিত?


এটির জন্য কি [সি #] ট্যাগ লাগবে? এটি কোনওভাবেই সি # এর সাথে সুনির্দিষ্ট বলে মনে হচ্ছে না।
গাবে

উত্তর:


6

এক সপ্তাহ ধরে এমএসের সাথে কাজ করার পরে, আমরা কেন কাজ করব তা নিয়ে কাজ করেছি।

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

ডাটাবেসটি ব্যর্থ হয়েছে তা নিশ্চিত করার প্রক্রিয়াটি (সমস্ত ডিফল্ট টিসিপি রেজিস্ট্রি সেটিংস সহ):

  1. অধ্যক্ষের সাথে যোগাযোগের চেষ্টা করুন, দেখুন যে এটি আর অধ্যক্ষ নয়
  2. এটি ব্যর্থ হয়েছে এবং এটি এখন নতুন প্রিন্সিপাল তা নিশ্চিত করার জন্য ব্যর্থতার সাথে যোগাযোগ করুন।

অধ্যক্ষটি নিচে থাকলে, এই যোগাযোগটি প্রায় 21 সেকেন্ড সময় নেয় কারণ এটি হবে:

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

সুতরাং যদি আপনার বর্গাকার সংযোগটি 21 সেকেন্ড অপেক্ষা না করে (সম্ভবত বাস্তবে আরও বেশি) তবে এটি এই নাচটি শেষ করার আগেই এটির সময়সীমার দিকে যাচ্ছে এবং এটি একেবারে ব্যর্থ হবে না।

সমাধানটি আপনার সংযোগের স্ট্রিংয়ের সময়সীমাটি বড় মুল্যে সেট করতে হয়, আমরা নিরাপদ থাকতে 60 সেকেন্ড ব্যবহার করি।

চিয়ার্স


0

আমি ভাবছি যদি আপনার পরীক্ষার সময় স্বয়ংক্রিয় ব্যর্থতার শর্তগুলি পূরণ হয় না? বিশেষত - যদি ব্যর্থতার সময় ডাটাবেসটি আয়নার সাথে সিঙ্ক্রোনাইজ না হয় (sys.datedia_mirroring থেকে মিররিং অবস্থাটি পরীক্ষা করে দেখুন) এবং / অথবা যদি সেই সময় সাক্ষী এবং আয়না সংযুক্ত না থাকে (অংশগ্রহণকারী ভূমিকার মধ্যে পিংসের মাধ্যমে পরীক্ষা করুন)।

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

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

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