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

এটি লক্ষ করা উচিত যে ডেডলকগুলি সরাসরি কার্য সম্পাদনকে প্রভাবিত করে এবং ডাটাবেসের প্রক্রিয়াজাতকরণ বন্ধ করে দিতে পারে।
1. আদেশ একই রাখুন
রিসোর্সগুলো একটি সুনির্দিষ্ট ক্রমে প্রসেস করা না হলে ডেডলক অবশ্যম্ভাবী। ডেডলক কমানোর জন্য, সমস্ত সমান্তরাল ট্রানজ্যাকশনের একটি সুনির্দিষ্ট ক্রমে অবজেক্ট অ্যাক্সেস করা উচিত। ডিবিএ-দের উচিত ডাটাবেস অবজেক্ট অ্যাক্সেস করার জন্য সুস্পষ্ট নিয়মাবলী তৈরি করা। সাধারণত লক মনিটর ডেডলক চেক করে এবং শনাক্ত হলে, তারা একটি ডেডলক ভিকটিম নির্বাচন করে তার ট্রানজ্যাকশনটি রোলব্যাক করে। এর ফলে, সমস্ত লক মুক্ত হয়ে যায় এবং পূর্ববর্তী সেশনগুলো প্রসেসটি চালিয়ে যেতে পারে। সার্ভার দ্বারা নির্ধারিত ডেডলক প্রায়োরিটি অথবা রোলব্যাক কস্টের ভিত্তিতে ডেডলক ভিকটিম নির্বাচন করা হয়।
2. লেনদেনের সময় সীমাবদ্ধতা
লেনদেন প্রক্রিয়া চলাকালীন আপনি কোনও ধরণের ডেটা ইনপুট করতে ব্যবহারকারীদের সীমাবদ্ধ করতে পারেন এবং অচলাবস্থা এড়াতে আপনি লেনদেনের আগে ডেটা আপডেট করতে পারেন। এছাড়াও, ব্যবহারকারীর মিথস্ক্রিয়াটিকে ন্যূনতম স্তরে রাখার চেষ্টা করুন কারণ এটি গতিকে প্রভাবিত করে। আদর্শভাবে, অচলাবস্থা এড়াতে লেনদেনগুলি সংক্ষিপ্ত এবং দ্রুত হওয়া উচিত। একটি অ্যাপ্লিকেশন এমনভাবে ডিজাইন করা উচিত যাতে এটি কমপক্ষে প্রয়োজনীয় সময়ে লকগুলি ধরে এবং যত তাড়াতাড়ি সম্ভব সেগুলি ছেড়ে দেয়।
3. নলক ইঙ্গিত
যখন কেউ এসকিউএল ডিফল্ট বিচ্ছিন্নতা স্তরে কোনও টেবিলের বিপরীতে কোনও ক্যোয়ারী চালায়, সারণীটি লক হয়ে যায় এবং পরবর্তী প্রশ্নগুলি মুক্তির জন্য অপেক্ষা করতে হবে। নলক ইঙ্গিতটি এ জাতীয় পরিস্থিতিতে সহায়ক কারণ এটি টেবিলের ওভাররাইড লকিং এবং অন্যান্য প্রশ্নগুলি সহজে অ্যাক্সেস পেতে দেয়।
৪) বাউন্ড কানেকশন ব্যবহার করুন
যদি একই অ্যাপ্লিকেশন দুটি বা ততোধিক সংযোগগুলি খুলতে পারে যা একে অপরের সাথে সহযোগিতা করতে পারে, তবে এটি অচলাবস্থা তৈরি করবে না। এজন্য এটিকে বাউন্ড সংযোগগুলি ব্যবহার করার পরামর্শ দেওয়া হচ্ছে।
একটিতে কাজ করার সময় আপনি সম্ভবত ডিডলকসই ঝামেলা বোধ করবেন না SQL Server তথ্যশালা. আসলে ঘটনা sql দুর্নীতি আপনার শোক হওয়ার সম্ভাবনা বেশি। কোনও ডেটা হ্রাসের পরিস্থিতি এড়াতে শক্তিশালী পুনরুদ্ধারের সরঞ্জামে বিনিয়োগ করুন DataNumen SQL Recovery.
লেখকের ভূমিকা:
ভিক্টর সাইমন একটি ডেটা রিকভারি বিশেষজ্ঞ DataNumen, ইনক। যা তথ্য পুনরুদ্ধারের প্রযুক্তিগুলির সহ বিশ্বের শীর্ষস্থানীয় এমডিবি পুনরুদ্ধার এবং স্কয়ার পুনরুদ্ধার সফ্টওয়্যার পণ্য। আরো তথ্যের জন্য, যান https://www.datanumen.com/