1. ভূমিকা SQL Server প্রোফাইলার
1.1 কি SQL Server প্রোফাইলার এবং কেন আমাদের এটি প্রয়োজন?
SQL Server প্রোফাইলার হল একটি গ্রাফিক্যাল ইউজার ইন্টারফেস টুল যা এর মধ্যে ঘটে যাওয়া ঘটনাগুলি পর্যবেক্ষণ এবং ক্যাপচার করার জন্য SQL Serverএই শক্তিশালী রোগ নির্ণয়ostআইসি টুলটি ডাটাবেস প্রশাসক এবং ডেভেলপারদের রিয়েল-টাইমে ডাটাবেস ইঞ্জিনের কার্যকলাপ পর্যবেক্ষণ করতে সাহায্য করে, যা কর্মক্ষমতার বাধাগুলি সনাক্ত করতে, অ্যাপ্লিকেশন সমস্যা সমাধান করতে এবং সুরক্ষা ইভেন্টগুলি নিরীক্ষণ করতে সহায়তা করে।
1.2 SQL Server ২০২৫ সালে প্রোফাইলার: বর্তমান অবস্থা এবং বিকল্প
মাইক্রোসফট অবচিত হয়েছে SQL Server প্রোফাইলারtarসঙ্গে ting SQL Server ২০১৬, সুপারিশ করা হচ্ছে বর্ধিত ইভেন্ট প্রতিস্থাপন প্রযুক্তি হিসেবে। তবে, বর্তমান সময়েও এই সরঞ্জামটি উপলব্ধ রয়েছে SQL Server সংস্করণ সহ SQL Server ২০২২ সালে চালু হয়েছিল এবং এখনও ডাটাবেস পেশাদারদের দ্বারা ব্যাপকভাবে ব্যবহৃত হয়।
১.৩ এই নির্দেশিকাটি কাদের ব্যবহার করা উচিত
- এই নির্দেশিকাটি ডাটাবেস প্রশাসকদের সেবা প্রদান করে যাদের নিরীক্ষণ করতে হবে SQL Server দৃষ্টান্ত স্থাপন, কর্মক্ষমতা সংক্রান্ত সমস্যা নির্ণয় এবং সিস্টেমের নির্ভরযোগ্যতা নিশ্চিত করা। DBA গুলি ট্রেস ক্যাপচার, ইভেন্ট বিশ্লেষণ এবং পর্যবেক্ষণ কৌশল বাস্তবায়নের জন্য ব্যবহারিক নির্দেশিকা খুঁজে পাবে।
- অ্যাপ্লিকেশন ডেভেলপাররা তাদের কোড কীভাবে ইন্টারঅ্যাক্ট করে তা বুঝতে পেরে উপকৃত হন SQL Server. SQL প্রোফাইলার ডেভেলপারদের অদক্ষ কোয়েরি সনাক্ত করতে, অ্যাপ্লিকেশন আচরণ যাচাই করতে এবং ডাটাবেস-সম্পর্কিত ত্রুটিগুলি ডিবাগ করতে সহায়তা করে।
- কর্মক্ষমতা বিশ্লেষক এবং পরামর্শদাতারা কাজের চাপ বিশ্লেষণ, ক্ষমতা পরিকল্পনা এবং সিস্টেম অপ্টিমাইজেশনের জন্য উন্নত কৌশল আবিষ্কার করবেন। ট্রেস কনফিগারেশন, ফিল্টারিং এবং বিশ্লেষণের ব্যাপক কভারেজ ডাটাবেসের কর্মক্ষমতা মূল্যায়নকে পুঙ্খানুপুঙ্খভাবে সক্ষম করে।
2. বোঝা SQL Server প্রোফাইলারের মৌলিক বিষয়গুলি
2.1 কিভাবে SQL Server প্রোফাইলার ওয়ার্কস
SQL Server প্রোফাইলার একটি ক্লায়েন্ট অ্যাপ্লিকেশন হিসেবে কাজ করে যা এর মধ্যে চলমান SQL ট্রেস ইঞ্জিনের সাথে সংযোগ স্থাপন করে SQL Server। যখন আপনি একটি ট্রেস তৈরি করেন, তখন ডাটাবেস ইঞ্জিন নির্দিষ্ট ইভেন্টগুলি পর্যবেক্ষণ করে এবং আপনার কনফিগারেশন অনুসারে সেগুলি ক্যাপচার করে। সঠিকভাবে কনফিগার করা হলে ট্রেস ইঞ্জিন সার্ভারের কর্মক্ষমতার উপর ন্যূনতম প্রভাব ফেলে ইভেন্ট ডেটা সংগ্রহ করে।
অন্তর্নিহিত SQL ট্রেস অবকাঠামো ডাটাবেস ইঞ্জিন জুড়ে হালকা ইভেন্ট হুক ব্যবহার করে। যখন কোনও ইভেন্ট ঘটে যা আপনার ট্রেস সংজ্ঞার সাথে মেলে, তখন ইঞ্জিন প্রাসঙ্গিক তথ্য ক্যাপচার করে এবং হয় প্রোফাইলার ইন্টারফেসে পাঠায় অথবা একটি ফাইল বা টেবিলে সংরক্ষণ করে। এই আর্কিটেকচার অ্যাপ্লিকেশন কোড পরিবর্তন না করেই নমনীয় ডেটা সংগ্রহের অনুমতি দেয়।
২.২ মূল ধারণা এবং পরিভাষা
এক্সএনএমএক্স এক্স ইভেন্টস
ঘটনাবলী নির্দিষ্ট ঘটনাবলীকে প্রতিনিধিত্ব করে SQL Server যা ট্রেস ইঞ্জিন ক্যাপচার করতে পারে। প্রতিটি ইভেন্ট একটি নির্দিষ্ট ডাটাবেস অপারেশন বা সিস্টেম কার্যকলাপের সাথে সম্পর্কিত। SQL Server প্রোফাইলার সহজ কনফিগারেশনের জন্য ইভেন্টগুলিকে লজিক্যাল বিভাগে সংগঠিত করে।
সাধারণ ইভেন্ট বিভাগগুলির মধ্যে রয়েছে কোয়েরি এক্সিকিউশনের জন্য TSQL, প্রসিডিউর কলের জন্য সঞ্চিত পদ্ধতি, কনকারেন্সি মনিটরিংয়ের জন্য লক এবং ব্যতিক্রম ট্র্যাকিংয়ের জন্য ত্রুটি এবং সতর্কতা। উপযুক্ত ইভেন্ট নির্বাচন করা আপনার ট্রেস কোন তথ্য ক্যাপচার করে তা নির্ধারণ করে এবং ট্রেসের উপযোগিতা এবং কর্মক্ষমতা ওভারহেডকে সরাসরি প্রভাবিত করে।
ইভেন্টের ধরণ বোঝা আপনাকে কার্যকর ট্রেস কনফিগার করতে সাহায্য করে। RPC:Completed ইভেন্টগুলি দূরবর্তী পদ্ধতির কল সমাপ্তি ক্যাপচার করে, SQL:BatchCompleted ইভেন্টগুলি অ্যাড-হক কোয়েরি ব্যাচগুলি ট্র্যাক করে এবং Lock:Deadlock ইভেন্টগুলি ডেডলক ঘটনাগুলি সনাক্ত করে। আপনার নির্দিষ্ট সমস্যা সমাধান বা পর্যবেক্ষণের উদ্দেশ্যগুলির সাথে সামঞ্জস্যপূর্ণ ইভেন্টগুলি চয়ন করুন।
২.২.২ ডেটা কলাম
ডেটা কলামগুলি প্রতিটি ইভেন্টের জন্য ট্রেস কোন তথ্য ক্যাপচার করে তা নির্ধারণ করে। সাধারণ কলামগুলির মধ্যে রয়েছে প্রকৃত SQL স্টেটমেন্টের জন্য TextData, এক্সিকিউশন সময়ের জন্য সময়কাল, প্রসেসর ব্যবহারের জন্য CPU, লজিক্যাল ডিস্ক পড়ার জন্য Reads এবং লজিক্যাল ডিস্ক লেখার জন্য Writes।
ব্যবহারের ধরণ অনুসারে প্রয়োজনীয় কলামগুলি পরিবর্তিত হয়। পারফরম্যান্স সমস্যা সমাধানের জন্য সাধারণত সময়কাল, CPU, পঠন এবং লেখার কলামের প্রয়োজন হয়। সুরক্ষা নিরীক্ষণের জন্য LoginName, DatabaseName এবং ObjectName কলামের প্রয়োজন হয়। অ্যাপ্লিকেশন ডিবাগিং অ্যাপ্লিকেশননাম, SPID এবং ত্রুটি কলাম থেকে সুবিধা পায়।
শুধুমাত্র প্রয়োজনীয় কলাম নির্বাচন করলে ট্রেস ওভারহেড কম হয় এবং বিশ্লেষণ সহজ হয়। বিশেষভাবে প্রয়োজন না হলে সমস্ত উপলব্ধ কলাম ক্যাপচার করা এড়িয়ে চলুন। প্রতিটি অতিরিক্ত কলাম সংগৃহীত এবং প্রক্রিয়াজাতকরণের পরিমাণ বৃদ্ধি করে, যা সার্ভারের কর্মক্ষমতাকে প্রভাবিত করতে পারে।
2.2.3 ফিল্টার
ফিল্টারগুলি নির্দিষ্ট মানদণ্ডের উপর ভিত্তি করে ট্রেস কোন ইভেন্টগুলি ক্যাপচার করবে তা সীমাবদ্ধ করে। সঠিকভাবে কনফিগার করা ফিল্টারগুলি নাটকীয়ভাবে ট্রেস ভলিউম হ্রাস করে, বিশ্লেষণকে পরিচালনাযোগ্য করে তোলে এবং কর্মক্ষমতার প্রভাবকে হ্রাস করে। ফিল্টারগুলি ক্যাপচারের আগে ইভেন্ট ডেটা মূল্যায়ন করে, অপ্রয়োজনীয় ডেটা সংগ্রহ প্রতিরোধ করে।
সাধারণ ফিল্টারের মানদণ্ডের মধ্যে রয়েছে নির্দিষ্ট ডাটাবেসের উপর ফোকাস করার জন্য DatabaseName, নির্দিষ্ট অ্যাপ্লিকেশনগুলিকে আলাদা করার জন্য ApplicationName, শুধুমাত্র ধীর গতির ক্রিয়াকলাপ ক্যাপচার করার জন্য সময়কাল এবং নির্দিষ্ট ব্যবহারকারীদের ট্র্যাক করার জন্য LoginName। একাধিক ফিল্টার একত্রিত করলে সুনির্দিষ্ট ট্রেস সংজ্ঞা তৈরি হয় যা আপনার যা প্রয়োজন তা ঠিক ক্যাপচার করে।
উৎপাদন পরিবেশের জন্য পারফরম্যান্স-সচেতন ফিল্টারিং অপরিহার্য। সিস্টেমের কার্যকলাপ ক্যাপচার এড়াতে সর্বদা DatabaseName বা ApplicationName দ্বারা ফিল্টার করুন। দ্রুত-সম্পাদনকারী প্রশ্নগুলি উপেক্ষা করার জন্য ন্যূনতম সময়কাল থ্রেশহোল্ড সেট করুন। TextData ফিল্টারগুলি সাবধানতার সাথে ব্যবহার করুন কারণ এগুলিতে স্ট্রিং তুলনা প্রয়োজন যা ওভারহেড যোগ করে।
২.২.৪ ট্রেস টেমপ্লেট
ট্রেস টেমপ্লেটগুলি সাধারণ পরিস্থিতির জন্য পূর্ব-কনফিগার করা ইভেন্ট, কলাম এবং ফিল্টার নির্বাচন প্রদান করে। SQL Server প্রোফাইলারে বেশ কিছু অন্তর্নির্মিত টেমপ্লেট রয়েছে যা s হিসাবে কাজ করেtarট্রেস তৈরির জন্য টিং পয়েন্ট। কাস্টম টেমপ্লেটগুলি একাধিক ট্রেসিং সেশন জুড়ে পুনঃব্যবহারের জন্য আপনার কনফিগারেশনগুলি সংরক্ষণ করে।
স্ট্যান্ডার্ড টেমপ্লেটটি মৌলিক পর্যবেক্ষণের জন্য উপযুক্ত ইভেন্টগুলির একটি সাধারণ সেট ক্যাপচার করে। TSQL টেমপ্লেটটি ন্যূনতম ওভারহেড সহ কোয়েরি এক্সিকিউশনের উপর ফোকাস করে। টিউনিং টেমপ্লেটটি বিশেষভাবে ডেটাবেস ইঞ্জিন টিউনিং অ্যাডভাইজার বিশ্লেষণের জন্য ইভেন্ট সংগ্রহ করে। প্রতিটি টেমপ্লেট কর্মক্ষমতা প্রভাবের বিরুদ্ধে তথ্য ক্যাপচারের ভারসাম্য বজায় রাখে।
কাস্টম টেমপ্লেট তৈরি করলে সময় সাশ্রয় হয় এবং ট্রেসিং সেশন জুড়ে ধারাবাহিকতা নিশ্চিত হয়। আপনার পছন্দের ইভেন্ট, কলাম এবং ফিল্টার দিয়ে একটি ট্রেস কনফিগার করুন, তারপর এটি একটি টেমপ্লেট হিসেবে সংরক্ষণ করুন। যখন আপনি বারবার একই ধরণের সমস্যা সমাধান করেন তখন কাস্টম টেমপ্লেটগুলি বিশেষভাবে মূল্যবান হয়ে ওঠে।
৩. এস পাওয়াtarসঙ্গে টেড SQL Server প্রোফাইলার
৩.১ সিস্টেমের প্রয়োজনীয়তা এবং পূর্বশর্তসমূহ
SQL Server প্রোফাইলারের সাথে আসে SQL Server ম্যানেজমেন্ট স্টুডিও এবং বর্তমানে রক্ষণাবেক্ষণ করা সমস্ত সমর্থন করে SQL Server সংস্করণ, থেকে SQL Server 2016 থেকে 2022 পর্যন্ত
অনুমতির প্রয়োজনীয়তা নির্ধারণ করে কে ট্রেস তৈরি এবং চালাতে পারে। সিস্টেম অ্যাডমিন ফিক্সড সার্ভার ভূমিকার সদস্যদের সীমাহীন অ্যাক্সেস রয়েছে SQL Server প্রোফাইলার কার্যকারিতা। নন-সিস্যাডমিন ব্যবহারকারীদের জন্য, ALTER TRACE অনুমতি ট্রেস তৈরি এবং পরিচালনা করার ক্ষমতা প্রদান করে।
রিমোট সার্ভার ট্রেস করার সময় নেটওয়ার্ক বিবেচনা প্রযোজ্য। ক্লায়েন্ট-সাইড ট্রেসগুলির জন্য আপনার ওয়ার্কস্টেশন এবং এর মধ্যে অবিচ্ছিন্ন নেটওয়ার্ক সংযোগ প্রয়োজন SQL Server উদাহরণস্বরূপ। বিঘ্নিত সংযোগগুলি ক্লায়েন্ট-সাইড ট্রেস বন্ধ করে দেয়, সম্ভাব্যভাবে ক্যাপচার করা ডেটা হারাতে পারে। সার্ভার-সাইড ট্রেসগুলি সম্পূর্ণরূপে ডাটাবেস সার্ভারে চালানোর মাধ্যমে এই সীমাবদ্ধতা এড়ায়।
৩.২ কিভাবে চালু করবেন SQL Server প্রোফাইলার
এক্সএনইউএমএক্স এসtarথেকে ting SQL Server ম্যানেজমেন্ট স্টুডিও (SSMS)
লঞ্চ করতে এই পদক্ষেপগুলি অনুসরণ করুন SQL Server SSMS থেকে প্রোফাইলার:
- খোলা SQL Server ম্যানেজমেন্ট স্টুডিও এবং যেকোনো একটিতে সংযোগ করুন SQL Server উদাহরণ হিসেবে বলা যায়।
- ক্লিক করুন টুলস উপরের মেনু বারে মেনু।
- নির্বাচন করা SQL Server প্রোফাইলার ড্রপডাউন মেনু থেকে
- সার্জারির SQL Server প্রোফাইলার অ্যাপ্লিকেশনটি একটি নতুন উইন্ডোতে চালু হবে।
এক্সএনইউএমএক্স এসtarউইন্ডোজ এস থেকে টিংtarটি মেনু
প্রবেশ SQL Server এই ধাপগুলি ব্যবহার করে সরাসরি উইন্ডোজ থেকে প্রোফাইলার তৈরি করুন:
- উইন্ডোজে ক্লিক করুন Start বোতাম.
- আদর্শ SQL Server প্রোফাইলার অনুসন্ধান বাক্সে
- নির্বাচন করা SQL Server প্রোফাইলার অনুসন্ধান ফলাফল থেকে
- কোনও সক্রিয় সংযোগ ছাড়াই অ্যাপ্লিকেশনটি চালু হয়।
বিকল্পভাবে, S এর মাধ্যমে নেভিগেট করুনtarটি মেনু হাইrarchy:
- খোলা Start মেনু.
- সনাক্ত করুন মাইক্রোসফট SQL Server টুলস ফোল্ডার.
- ফোল্ডারটি প্রসারিত করুন এবং ক্লিক করুন SQL Server প্রোফাইলার.
3.2.3 এর সাথে সংযোগ করা হচ্ছে SQL Server দৃষ্টান্ত
চালু করার পরে SQL Server প্রোফাইলার, এই ধাপগুলি অনুসরণ করে একটি সংযোগ স্থাপন করুন:
- ক্লিক ফাইল মেনু বারে
- নির্বাচন করা নতুন ট্রেস ড্রপডাউন মেনু থেকে
- সার্জারির সার্ভারের সাথে সংযুক্ত করুন ডায়ালগ প্রদর্শিত হয়।
- আপনার সার্ভারের নাম লিখুন সার্ভার নাম ক্ষেত্র।
- বেছে নিন উইন্ডোজ প্রমাণীকরণ or SQL Server প্রমাণীকরণ.
- যদি ব্যবহার করা হয় SQL Server প্রমাণীকরণ, আপনার লগইন শংসাপত্র লিখুন।
- ক্লিক সংযোগ করা সংযোগ স্থাপন করতে।
রিমোট সংযোগের জন্য, যদি প্রযোজ্য হয় তবে ইনস্ট্যান্স নাম সহ সম্পূর্ণ সার্ভারের নাম উল্লেখ করুনcable. নামযুক্ত উদাহরণের জন্য SERVERNAME\INSTANCENAME ফর্ম্যাটটি ব্যবহার করুন। সংযোগ প্রচেষ্টা ব্যর্থ হলে নেটওয়ার্ক সংযোগ এবং ফায়ারওয়াল সেটিংস যাচাই করুন।
৪. তৈরি এবং কনফিগার করা SQL Server ট্রেস
৪.১ একটি টেমপ্লেট ব্যবহার করে আপনার প্রথম ট্রেস তৈরি করা
এই ধাপগুলি ব্যবহার করে আপনার প্রথম ট্রেস তৈরি করুন:
- শুরু করা SQL Server প্রোফাইলার।
- ক্লিক ফাইল -> নতুন ট্রেস এবং আপনার সাথে সংযোগ করুন tarসার্ভার পান।
- সার্জারির ট্রেস বৈশিষ্ট্য ডায়ালগ প্রদর্শিত হয়।
- একটি বর্ণনামূলক নাম লিখুন ট্রেস নাম ক্ষেত্র।
- থেকে একটি টেমপ্লেট নির্বাচন করুন টেমপ্লেট ব্যবহার করুন ড্রপডাউন।
- পছন্দ স্ট্যান্ডার্ড (ডিফল্ট) সাধারণ পর্যবেক্ষণের জন্য টেমপ্লেট। অথবা অন্যান্য উদ্দেশ্যে অন্য টেমপ্লেট। টেমপ্লেটটি সাধারণ পরিস্থিতির জন্য পূর্বে কনফিগার করা ইভেন্ট, কলাম এবং ফিল্টার প্রদান করে।
- ক্লিক চালান থেকে starঘটনাগুলি তাৎক্ষণিকভাবে ধারণ করা।
৪.২ আপনার ট্রেস কাস্টমাইজ করুন
অনেক সময়, টেমপ্লেটগুলি আপনার প্রয়োজনীয়তা পূরণ করতে পারে না। এই ক্ষেত্রে, আপনি আপনার ট্রেসটি সম্পূর্ণরূপে কাস্টমাইজ করতে পারেন:
- মধ্যে ট্রেস বৈশিষ্ট্য ডায়ালগ।
- নির্বাচন করুন ফাঁকা থেকে টেমপ্লেট টেমপ্লেট ব্যবহার করুন ড্রপডাউন।
- ক্লিক করুন ইভেন্ট নির্বাচন ট্যাবটি ব্যবহার করে, এখন আপনি আপনার প্রয়োজনীয়তা অনুসারে সমস্ত ইভেন্ট, ডেটা কলাম এবং ফিল্টার কাস্টমাইজ করতে পারেন। আমরা নিম্নলিখিত বিভাগগুলিতে সেগুলি নিয়ে আলোচনা করব।
৪.৩ ক্যাপচার করার জন্য ইভেন্ট নির্বাচন করা
আপনি একটি ইভেন্ট নির্বাচন করতে পারেন ইভেন্ট নির্বাচন ট্যাব:
- ক্লিক করুন + ইভেন্ট বিভাগের পাশে আইকনটি প্রসারিত করতে।
- ইভেন্টটি নির্বাচন করতে পাশে থাকা চেকবক্সে ক্লিক করুন।
৪.৩.১ ইভেন্টের বিভাগগুলি বোঝা
SQL Server প্রোফাইলার লজিক্যাল গ্রুপিংয়ের জন্য ইভেন্টগুলিকে বিভিন্ন বিভাগে সংগঠিত করে। স্টোরেড প্রসিডিউরস বিভাগে SP:S সহ প্রসিডিউর এক্সিকিউশনের ইভেন্টগুলি অন্তর্ভুক্ত থাকে।tarটিং, SP:Completed, এবং SP:StmtCompleted। এই ইভেন্টগুলি সঞ্চিত প্রক্রিয়া কল এবং প্রক্রিয়ার মধ্যে পৃথক বিবৃতি সম্পাদন ট্র্যাক করে।
TSQL বিভাগটি SQL:BatchS এর মতো ইভেন্টগুলির সাথে অ্যাড-হক কোয়েরি এক্সিকিউশন ক্যাপচার করে।tarটিং এবং SQL:BatchCompleted। এই ইভেন্টগুলি সরাসরি জমা দেওয়া কোয়েরিগুলি ট্র্যাক করে SQL Server সঞ্চিত পদ্ধতির বাইরে।
লকস বিভাগটি লক:অ্যাকুইর্ড, লক:রিলিজড, লক:ডেডলক এবং লক:টাইমআউট সহ কনকারেন্সি-সম্পর্কিত ইভেন্টগুলি পর্যবেক্ষণ করে। অ্যাপ্লিকেশনের কর্মক্ষমতাকে প্রভাবিত করে এমন ব্লকিং এবং ডেডলক সমস্যাগুলি নির্ণয় করতে এই ইভেন্টগুলি ব্যবহার করুন।
ত্রুটি এবং সতর্কতা বিভাগ ব্যতিক্রম, মনোযোগ এবং ব্যবহারকারীর ত্রুটি বার্তা সহ ব্যতিক্রম ইভেন্টগুলি ধারণ করে। এই ইভেন্টগুলি অ্যাপ্লিকেশন ত্রুটি সনাক্ত করতে সাহায্য করে এবং SQL Server ট্রেস সেশনের সময় সতর্কতা।
৪.৩.২ আপনার পরিস্থিতির জন্য সঠিক ইভেন্ট নির্বাচন করা
পারফরম্যান্স মনিটরিংয়ের জন্য এমন ইভেন্টগুলির প্রয়োজন হয় যা রিসোর্স খরচ ক্যাপচার করে। ক্যোয়ারি এক্সিকিউশন ট্র্যাক করতে RPC:Completed এবং SQL:BatchCompleted নির্বাচন করুন। রিসোর্স ব্যবহার পরিমাপ করার জন্য সময়কাল, CPU, Reads এবং Writes কলাম অন্তর্ভুক্ত করুন। এই ইভেন্টগুলি পারফরম্যান্সের বাধাগুলি সনাক্ত করার জন্য ভিত্তি প্রদান করে।
নিরাপত্তা নিরীক্ষার জন্য এমন ইভেন্টের প্রয়োজন হয় যা প্রমাণীকরণ এবং অনুমোদন ট্র্যাক করে। ডাটাবেস অ্যাক্সেস নিরীক্ষণের জন্য অডিট লগইন, অডিট লগআউট, অডিট লগইন ব্যর্থ, এবং অবজেক্ট:ওপেনড নির্বাচন করুন। কে কোন রিসোর্স অ্যাক্সেস করেছে তা সনাক্ত করতে লগইননাম, ডাটাবেসনাম এবং অবজেক্টনাম কলাম অন্তর্ভুক্ত করুন।
ডিবাগিং পরিস্থিতি ব্যাপক ইভেন্ট ক্যাপচার থেকে উপকৃত হয়। সম্পূর্ণ এক্সিকিউশন ফ্লো ট্রেস করার জন্য সঞ্চিত প্রক্রিয়া ইভেন্ট, SQL ব্যাচ ইভেন্ট এবং ত্রুটি ইভেন্ট অন্তর্ভুক্ত করুন। SPID, ApplicationName, এবং H ব্যবহার করে অতিরিক্ত প্রসঙ্গ ক্যাপচার করুন।ostনির্দিষ্ট সেশনের সাথে ইভেন্টগুলির সম্পর্ক স্থাপনের জন্য কলামগুলির নাম দিন।
৪.৪ ডেটা কলাম কনফিগার করা
ডিফল্টরূপে, যখন আপনি একটি ইভেন্ট নির্বাচন করবেন, তখন এর সমস্ত ডেটা কলাম নির্বাচন করা হবে (চেক করা হবে)। ওভারহেড কমাতে এবং বিশ্লেষণ সহজ করতে আপনি অপ্রয়োজনীয় কলামগুলি নির্বাচন থেকে সরিয়ে দিতে পারেন:
প্রতিটি ট্রেসের জন্য প্রয়োজনীয় কলামগুলির মধ্যে রয়েছে ইভেন্টের ধরণ সনাক্ত করার জন্য EventClass, প্রকৃত SQL স্টেটমেন্ট ক্যাপচার করার জন্য TextData, কার্যকরকারী ব্যবহারকারী সনাক্ত করার জন্য LoginName এবং Starঘটনাটি কখন ঘটেছিল তার টাইমস্ট্যাম্প লেখার সময়। এই কলামগুলি প্রতিটি ক্যাপচার করা ঘটনার জন্য মৌলিক প্রেক্ষাপট প্রদান করে।
পারফরম্যান্স-সম্পর্কিত কলামগুলি রিসোর্স খরচ পরিমাপ করে। সময়কাল নির্দেশ করে যে একটি ইভেন্ট মাইক্রোসেকেন্ডে কত সময় নিয়েছে। CPU মিলিসেকেন্ডে প্রসেসরের সময় দেখায়। রিড লজিক্যাল পৃষ্ঠা রিড গণনা করে। রাইটস লজিক্যাল পৃষ্ঠা রাইটস ট্র্যাক করে। এই মেট্রিক্সগুলি অপ্টিমাইজেশনের প্রয়োজন এমন রিসোর্স-ইনটেনসিভ ক্রিয়াকলাপগুলি সনাক্ত করে।
নিরাপত্তা এবং অডিট কলামগুলি ডেটা অ্যাক্সেস প্যাটার্ন ট্র্যাক করে। DatabaseName কোন ডাটাবেস অ্যাক্সেস করা হয়েছিল তা সনাক্ত করে। ObjectName জড়িত টেবিল বা বস্তু নির্দিষ্ট করে। ApplicationName কোন অ্যাপ্লিকেশনটি কার্যকলাপ শুরু করেছে তা প্রকাশ করে। একসাথে, এই কলামগুলি ব্যাপক অডিট ট্রেল প্রদান করে।
৪.৫ শব্দ কমাতে ফিল্টার সেট আপ করা
৪.৫.১ সাধারণ ফিল্টার মানদণ্ড
নিম্নলিখিত পদ্ধতি ব্যবহার করে ফিল্টার কনফিগার করুন:
- খোলা ট্রেস বৈশিষ্ট্য ডায়ালগ।
- ক্লিক করুন ইভেন্ট নির্বাচন ট্যাব।
- ক্লিক কলাম ফিল্টার নীচে ডানদিকে বোতাম।
- বাম দিকের তালিকা থেকে একটি কলাম নির্বাচন করুন।
- ডানদিকের প্যানেলে ফিল্টারের মানদণ্ড কনফিগার করুন।
- ক্লিক OK ফিল্টার প্রয়োগ করতে।
অ্যাপ্লিকেশন নাম ফিল্টারগুলি নির্দিষ্ট অ্যাপ্লিকেশন থেকে কার্যকলাপকে বিচ্ছিন্ন করে। ফিল্টার ডায়ালগে অ্যাপ্লিকেশন নাম কলামটি প্রসারিত করুন, আপনার অ্যাপ্লিকেশনের নামটি লিখুন মত ক্ষেত্র, এবং SQL Server প্রোফাইলার শুধুমাত্র সেই অ্যাপ্লিকেশন থেকে ইভেন্টগুলি ক্যাপচার করে। অ্যাপ্লিকেশন-নির্দিষ্ট সমস্যাগুলির সমস্যা সমাধানের সময় এই ফিল্টারটি অমূল্য প্রমাণিত হয়।
ডাটাবেস নাম ফিল্টারগুলি নির্দিষ্ট ডাটাবেসের মধ্যে ক্যাপচার সীমাবদ্ধ করে। সিস্টেম ডাটাবেস কার্যকলাপ বাদ দিতে এবং আপনার অ্যাপ্লিকেশন ডাটাবেসের উপর ফোকাস করতে DatabaseName দ্বারা ফিল্টার করুন। ডাটাবেসের নাম লিখুন মত or সমান আপনার ওয়াইল্ডকার্ড ম্যাচিং প্রয়োজন কিনা তার উপর নির্ভর করে ফিল্ড।
সময়কাল ফিল্টারগুলি কেবল ধীর গতিতে চলমান ক্রিয়াকলাপগুলি ক্যাপচার করে। একটি ন্যূনতম থ্রেশহোল্ড সেট করুন বৃহত্তর অথবা সমান সময়কাল কলামের অধীনে ক্ষেত্র। উদাহরণস্বরূপ, সময়কাল >= ১০০০ সেট করলে কেবল এক সেকেন্ডের বেশি সময় নেয় এমন ইভেন্ট ক্যাপচার করা হয়, দ্রুত-সম্পাদনকারী কোয়েরিগুলিকে ফিল্টার করে।
ব্যবহারকারীর নাম ফিল্টার নির্দিষ্ট ব্যবহারকারীর কার্যকলাপ ট্র্যাক করে। নির্দিষ্ট ডাটাবেস ব্যবহারকারীদের নিরীক্ষণের জন্য LoginName দ্বারা ফিল্টার করুন। এই পদ্ধতিটি কোন ব্যবহারকারীরা সমস্যাযুক্ত প্রশ্নগুলি সম্পাদন করে বা সংবেদনশীল ডেটা অ্যাক্সেস করে তা সনাক্ত করতে সহায়তা করে।
৪.৪.২ সেরা অনুশীলনগুলি ফিল্টার করুন
কার্যকর ফিল্টারিং কর্মক্ষমতা প্রভাবের সাথে ডেটা ক্যাপচারের ভারসাম্য বজায় রাখে। অতিরিক্ত সিস্টেম কার্যকলাপ ক্যাপচার প্রতিরোধ করার জন্য সর্বদা কমপক্ষে একটি ফিল্টার প্রয়োগ করুন। DatabaseName এবং ApplicationName ফিল্টারগুলি আপনার হওয়া উচিতtarমি এর জন্য টিং পয়েন্টost ট্রেস
উৎপাদন পরিবেশে অতিরিক্ত বিস্তৃত ট্রেস এড়িয়ে চলুন। ফিল্টার না করা ট্রেসগুলি প্রচুর পরিমাণে ডেটা ক্যাপচার করে, যা সার্ভারের কর্মক্ষমতা হ্রাস করতে পারে এবং বিশ্লেষণকে অবাস্তব করে তোলে। নির্দিষ্ট ফিল্টার মানদণ্ড সেট করুন যা tarআপনার সমস্যা সমাধানের লক্ষ্যগুলি অর্জন করুন।
উৎপাদনে স্থাপনের আগে ফিল্টারগুলি পরীক্ষা করুন। অতিরিক্ত ওভারহেড ছাড়াই ফিল্টারগুলি প্রত্যাশিত ইভেন্টগুলি ক্যাপচার করে কিনা তা যাচাই করতে প্রথমে ডেভেলপমেন্ট বা পরীক্ষার পরিবেশের বিরুদ্ধে ট্রেস চালান। ক্যাপচার করা ডেটার পরিমাণের উপর ভিত্তি করে ফিল্টারের মানদণ্ড সামঞ্জস্য করুন।
৪.৫ ট্রেস টেমপ্লেট নিয়ে কাজ করা
৪.৫.১ অন্তর্নির্মিত টেমপ্লেটের সংক্ষিপ্ত বিবরণ
স্ট্যান্ডার্ড টেমপ্লেটটি সাধারণ পর্যবেক্ষণের জন্য উপযুক্ত ভারসাম্যপূর্ণ ইভেন্ট ক্যাপচার প্রদান করে। এতে সাধারণ কোয়েরি এক্সিকিউশন ইভেন্ট, সঞ্চিত পদ্ধতি কল এবং মৌলিক ত্রুটি ট্র্যাকিং অন্তর্ভুক্ত রয়েছে। যখন আপনার সম্পূর্ণ দৃশ্যমানতার প্রয়োজন হয় এবং ঠিক কী খুঁজতে হবে তা না জেনেও এই টেমপ্লেটটি ব্যবহার করুন।
TSQL টেমপ্লেটটি বিশেষভাবে ন্যূনতম ইভেন্ট নির্বাচন সহ কোয়েরি এক্সিকিউশনের উপর জোর দেয়। এটি কর্মক্ষমতা বিশ্লেষণের জন্য প্রয়োজনীয় কলাম সহ SQL:BatchCompleted এবং RPC:Completed ইভেন্টগুলি ক্যাপচার করে। এই টেমপ্লেটটি স্ট্যান্ডার্ড টেমপ্লেটের তুলনায় কম ওভারহেড অফার করে।
টিউনিং টেমপ্লেটটি ডেটাবেস ইঞ্জিন টিউনিং অ্যাডভাইজার বিশ্লেষণের জন্য ইভেন্ট নির্বাচনকে অপ্টিমাইজ করে। এটি ওয়ার্কলোড বিশ্লেষণ এবং সূচক সুপারিশের জন্য প্রয়োজনীয় ইভেন্ট এবং কলামগুলি ক্যাপচার করে। স্বয়ংক্রিয় কর্মক্ষমতা টিউনিংয়ের জন্য ট্রেস প্রস্তুত করার সময় এই টেমপ্লেটটি ব্যবহার করুন।
TSQL_Replay টেমপ্লেটে ট্রেস রিপ্লে কার্যকারিতার জন্য প্রয়োজনীয় সমস্ত ইভেন্ট এবং কলাম অন্তর্ভুক্ত রয়েছে। এটি ব্যাপক কার্যকরকরণের বিবরণ ক্যাপচার করে যা আপনাকে পরীক্ষার পরিবেশে ক্যাপচার করা ওয়ার্কলোড পুনরুত্পাদন করতে সক্ষম করে। বিস্তৃত ডেটা সংগ্রহের কারণে এই টেমপ্লেটটি বৃহত্তর ট্রেস ফাইল তৈরি করে।
৪.৫.২ কাস্টম টেমপ্লেট তৈরি করা
এই ধাপগুলি অনুসরণ করে কাস্টম টেমপ্লেট তৈরি করুন:
- ক্লিক ফাইল -> টেম্পলেটসমূহ -> নতুন টেমপ্লেট …
- একটি বর্ণনামূলক নাম লিখুন নতুন টেমপ্লেটের নাম ক্ষেত্র।
- ঐচ্ছিকভাবে, চেক করুন বিদ্যমান টেমপ্লেটের উপর নতুন টেমপ্লেট তৈরি করুন এবং যদি আপনি স্ক্র্যাচ থেকে তৈরি করতে না চান তবে একটি বিদ্যমান টেমপ্লেট নির্বাচন করুন:
- ক্লিক করুন ইভেন্ট নির্বাচন ট্যাব, আপনার পছন্দসই ইভেন্ট, কলাম এবং ফিল্টার দিয়ে ট্রেস টেমপ্লেটটি কাস্টমাইজ করুন ঠিক আপনার মতো একটি সাধারণ ট্রেস দিয়ে করুন.
- ক্লিক সংরক্ষণ করুন টেমপ্লেটটি সংরক্ষণ করতে।
দলের সদস্যদের সাথে ভাগ করে নেওয়ার জন্য বা ব্যাকআপের উদ্দেশ্যে টেমপ্লেট রপ্তানি করুন:
- ক্লিক ফাইল -> টেম্পলেটসমূহ -> টেমপ্লেট রপ্তানি করুন.
- আপনি যে টেমপ্লেটটি রপ্তানি করতে চান তা নির্বাচন করুন।
- আপনার পছন্দসই সংরক্ষণের স্থানে নেভিগেট করুন।
- একটি ফাইলের নাম লিখুন এবং ক্লিক করুন সংরক্ষণ করুন.
- *.tdf ফাইলটি শেয়ার করুন (SQL Server প্রোফাইলার টেমপ্লেট ফাইল) অন্যান্য SQL Server প্রোফাইলার ব্যবহারকারীরা।
৪.৬ ট্রেস আউটপুট সংরক্ষণ করা হচ্ছে
গতানুগতিক, SQL Server প্রোফাইলার ট্রেস উইন্ডোতে ইভেন্টগুলি দেখাবে, কিন্তু সেগুলি সংরক্ষণ করবে না। আপনি ট্রেস ডেটা একটি ফাইল বা টেবিলে সংরক্ষণ করতে পারেন ট্রেস বৈশিষ্ট্য যখন আপনি একটি নতুন ট্রেস তৈরি করবেন তখন ডায়ালগ।
৪.৬.১ ফাইলে সংরক্ষণ করুন
- মধ্যে ট্রেস বৈশিষ্ট্য ডায়ালগ, চেক করুন ফাইল এ সংরক্ষণ করুন.
- ফাইল ব্রাউজার খুলতে ফোল্ডার আইকনে ক্লিক করুন।
- আপনার পছন্দসই সংরক্ষণের স্থানে নেভিগেট করুন।
- .trc এক্সটেনশন সহ একটি ফাইলের নাম লিখুন।
- ক্লিক সংরক্ষণ করুন.
- সেট সর্বোচ্চ ফাইলের আকার সেট করুন পৃথক ফাইলের আকার সীমিত করতে।
- সক্ষম করা ফাইল রোলওভার সক্ষম করুন একাধিক ফাইল তৈরি করতে।
- ঐচ্ছিকভাবে সক্ষম করুন সার্ভার ট্রেস ডেটা প্রক্রিয়া করে সার্ভার-সাইড ট্রেসের জন্য।
ফাইলের আকার ব্যবস্থাপনা ডিস্কের স্থান হ্রাস রোধ করে। উপলব্ধ ডিস্ক স্থান এবং প্রত্যাশিত ট্রেস সময়কালের উপর ভিত্তি করে সর্বাধিক ফাইলের আকার 500 এমবি বা 1 জিবি এর মতো যুক্তিসঙ্গত মান নির্ধারণ করুন। আকার সীমা পৌঁছে গেলে ফাইল রোলওভার স্বয়ংক্রিয়ভাবে নতুন ফাইল তৈরি করে, ফাইলের নামের সাথে একটি সংখ্যা যুক্ত করে।
৪.৬.২ টেবিলে সংরক্ষণ করুন
- মধ্যে ট্রেস বৈশিষ্ট্য ডায়ালগ, চেক করুন টেবিলে সংরক্ষণ করুন.
- সার্জারির গন্তব্য সারণী ডায়ালগ প্রদর্শিত হয়।
- থেকে সার্ভারটি নির্বাচন করুন সার্ভার ড্রপডাউন।
- থেকে ডাটাবেসটি বেছে নিন ডেটাবেস ড্রপডাউন।
- একটি বিদ্যমান টেবিল নির্বাচন করুন অথবা একটি নতুন টেবিলের নাম লিখুন টেবিল ক্ষেত্র।
- ক্লিক OK নিশ্চিত করতে.
- ঐচ্ছিকভাবে সেট করা সর্বাধিক সারি সেট করুন টেবিলের আকার সীমিত করতে।
টেবিলে সংরক্ষণের সময় কর্মক্ষমতা বিবেচনা প্রযোজ্য। টেবিল স্টোরেজ ফাইল স্টোরেজের তুলনায় অতিরিক্ত ওভারহেড প্রবর্তন করে কারণ SQL Server স্টোরেজ ইঞ্জিনের মাধ্যমে ট্রেস ডেটা লিখতে হবে। T-SQL দিয়ে তাৎক্ষণিকভাবে ট্রেস ডেটা জিজ্ঞাসা করার প্রয়োজন হলে টেবিল স্টোরেজ ব্যবহার করুন।
টেবিল-ভিত্তিক ট্রেসগুলির জন্য ডেটা ধরে রাখা গুরুত্বপূর্ণ হয়ে ওঠে। টেবিলগুলি যাতে খুব বড় না হয় তার জন্য সর্বাধিক সারি সীমা নির্ধারণ করুন। কর্মক্ষমতা বজায় রাখতে নিয়মিত পুরানো ট্রেস ডেটা সংরক্ষণাগারভুক্ত করুন বা মুছুন। আরও ভাল পরিচালনার জন্য বড় ট্রেস টেবিলগুলিকে পার্টিশন করার কথা বিবেচনা করুন।
৫. পরিচালনা এবং পরিচালনা SQL Server ট্রেস
এক্সএনইউএমএক্স এসtarটিং, পজিং এবং স্টপিং ট্রেস
টুলবার বোতাম ব্যবহার করে ট্রেস এক্সিকিউশন পরিচালনা করুন:
- সবুজ Start বোতামটি আপনার কনফিগারেশন অনুসারে ইভেন্টগুলি ক্যাপচার করা শুরু করে।
- ক্লিক বিরতি গতিতেrarসংযোগ না হারিয়ে তথ্য সংগ্রহ স্থগিত করুন।
- ক্লিক থামুন ট্রেসটি শেষ করতে এবং সংযোগটি বন্ধ করতে।
মেনু আইটেমের মাধ্যমে:
ট্রেস উইন্ডোতে যেকোনো এন্ট্রিতে ডান-ক্লিক করে:
ট্রেস লাইফসাইকেল ম্যানেজমেন্ট সার্ভার রিসোর্সগুলিকে প্রভাবিত করে। সক্রিয় ট্রেসগুলি ক্যাপচার করা ইভেন্টের পরিমাণের সমানুপাতিকভাবে মেমরি এবং প্রক্রিয়াকরণ শক্তি ব্যবহার করে। ওভারহেড কমাতে যখন পর্যবেক্ষণের প্রয়োজন হয় না তখন সময়কালে ট্রেসগুলিকে বিরতি দিন। বিশ্লেষণ শেষ হয়ে গেলে রিসোর্স মুক্ত করার জন্য ট্রেসগুলি সম্পূর্ণরূপে বন্ধ করুন।
ক্লায়েন্ট-সাইড ট্রেসগুলির জন্য একটি সক্রিয় প্রোফাইলার সংযোগ প্রয়োজন। বন্ধ করা হচ্ছে SQL Server প্রোফাইলার উইন্ডো ক্লায়েন্ট-সাইড ট্রেসগুলি তাৎক্ষণিকভাবে বন্ধ করে দেয়। অন্যান্য অ্যাপ্লিকেশনগুলিতে কাজ করার সময় ট্রেসগুলি চালু রাখতে প্রোফাইলার উইন্ডোটি বন্ধ করার পরিবর্তে এটি ছোট করুন।
৫.২ রিয়েল-টাইম ট্রেস মনিটরিং
মূল ট্রেস উইন্ডোতে ক্যাপচার করা ইভেন্টগুলি ঘটলে সেগুলি পর্যবেক্ষণ করুন। প্রতিটি সারি একটি একক ইভেন্ট উপস্থাপন করে যেখানে কলামগুলি ইভেন্টের বৈশিষ্ট্যগুলি প্রদর্শন করে। সক্রিয় ট্রেসগুলির সময় গ্রিড ক্রমাগত আপডেট হয়, যা m দেখায়।ost ডিফল্টরূপে নীচে সাম্প্রতিক ঘটনাগুলি।
ইভেন্টের ফ্রিকোয়েন্সি এবং বৈশিষ্ট্যগুলি পর্যবেক্ষণ করে প্যাটার্ন এবং সমস্যাগুলি সনাক্ত করুন। উচ্চ-সময়ের ইভেন্টগুলি কর্মক্ষমতা সমস্যাগুলি নির্দেশ করে। ঘন ঘন ত্রুটির ঘটনাগুলি অ্যাপ্লিকেশন সমস্যার ইঙ্গিত দেয়। অস্বাভাবিক লগইন কার্যকলাপ নিরাপত্তা উদ্বেগের ইঙ্গিত দিতে পারে। রিয়েল-টাইম পর্যবেক্ষণ উদীয়মান সমস্যাগুলির তাৎক্ষণিক প্রতিক্রিয়া সক্ষম করে।
নির্দিষ্ট ঘটনা পরীক্ষা করার জন্য ক্যাপচার করা ইভেন্টগুলির মধ্য দিয়ে স্ক্রোল করুন। একটি ইভেন্ট নির্বাচন করতে এবং এর সম্পূর্ণ বিবরণ দেখতে যেকোনো সারিতে ক্লিক করুন। সমস্ত কলামের মান দেখানো বিশদ বৈশিষ্ট্য ডায়ালগ খুলতে ইভেন্টগুলিতে ডাবল-ক্লিক করুন। ঐতিহাসিক ঘটনা পর্যালোচনা করার সময় স্বয়ংক্রিয় স্ক্রলিং প্রতিরোধ করতে স্ক্রোল লক বৈশিষ্ট্যটি ব্যবহার করুন।
৫.৩ একাধিক সমকালীন ট্রেস পরিচালনা করা
একাধিক ট্রেস একসাথে চালানো জটিল পর্যবেক্ষণ পরিস্থিতির জন্য নমনীয়তা প্রদান করে। ডাটাবেস কার্যকলাপের বিভিন্ন দিকের জন্য পৃথক ট্রেস তৈরি করুন, যেমন কর্মক্ষমতা পর্যবেক্ষণের জন্য একটি ট্রেস এবং সুরক্ষা নিরীক্ষণের জন্য আরেকটি ট্রেস। প্রতিটি ট্রেস তার নিজস্ব কনফিগারেশনের সাথে স্বাধীনভাবে চলে।
একাধিক ট্রেস থাকলে রিসোর্স বরাদ্দ অত্যন্ত গুরুত্বপূর্ণ হয়ে ওঠে। প্রতিটি সক্রিয় ট্রেস মেমরি, CPU এবং সম্ভাব্য ডিস্ক I/O ব্যবহার করে। সমসাময়িক ট্রেসের সংখ্যা সীমিত করুন এবং নিশ্চিত করুন যে প্রতিটি ট্রেস ওভারহেড কমাতে উপযুক্ত ফিল্টার ব্যবহার করে। একাধিক ট্রেস চালানোর সময় সার্ভারের কর্মক্ষমতা পর্যবেক্ষণ করুন।
হাই-ওভারহেড ট্রেসগুলিকে ওভারল্যাপ করা রোধ করার জন্য ট্রেস টাইমিং সমন্বয় করুন। যদি সম্ভব হয়, কম-অ্যাক্টিভিটি পিরিয়ডের সময় রিসোর্স-ইনটেনসিভ ট্রেস চালান। একসাথে সবকিছু চালানোর পরিবর্তে বিভিন্ন সময়ে বিভিন্ন ট্রেস নির্ধারণ করুন।
৫.৪ ক্লায়েন্ট-সাইড ট্রেস বনাম সার্ভার-সাইড ট্রেস
ডিফল্টরূপে, একটি নতুন তৈরি ট্রেস হল একটি ক্লায়েন্ট-সাইড ট্রেস, যার জন্য একটি সক্রিয় সংযোগ প্রয়োজন SQL Server ডাটাবেস সার্ভারে প্রোফাইলার। সংযোগ l থাকলে ট্রেস অবিলম্বে বন্ধ হয়ে যায়ost অথবা প্রোফাইলার বন্ধ আছে।
আপনি একটি সার্ভার-সাইড ট্রেসও তৈরি করতে পারেন, যা সম্পূর্ণরূপে চলে SQL Server একটি সক্রিয় প্রোফাইলার সংযোগের প্রয়োজন ছাড়াই উদাহরণ। সার্ভার-সাইড ট্রেস বন্ধ হওয়ার পরেও চলতে থাকে SQL Server প্রোফাইলার, নির্দিষ্ট ফাইলের অবস্থানে ডেটা লেখা।
সার্ভার-সাইড ট্রেস তৈরি করতে:
- ফাইল -> নতুন ট্রেস ক্লিক করুন …
- মধ্যে ট্রেস বৈশিষ্ট্য ডায়ালগ, চেক করুন ফাইল এ সংরক্ষণ করুন
- ফাইলের অবস্থান এবং অন্যান্য সেটিংস সেট করুন।
- সক্ষম করা সার্ভার ট্রেস ডেটা প্রক্রিয়া করে একটি সার্ভার-সাইড ট্রেস তৈরি করতে।
ট্রেস ধরণের মধ্যে পারফরম্যান্সের প্রভাব উল্লেখযোগ্যভাবে ভিন্ন। ক্লায়েন্ট-সাইড ট্রেসগুলিকে নেটওয়ার্কের মাধ্যমে প্রোফাইলার ইন্টারফেসে ডেটা প্রেরণ করতে হবে, যার ফলে ল্যাটেন্সি এবং ব্যান্ডউইথ খরচ যোগ হবে। সার্ভার-সাইড ট্রেসগুলি কম ওভারহেড প্রবর্তন করে কারণ ডেটা সরাসরি সার্ভারের ডিস্কে লেখা হয়।
অ্যাড-হক সমস্যা সমাধান, দ্রুত নির্ণয়ের জন্য ক্লায়েন্ট-সাইড ট্রেস ব্যবহার করুনostআইসি সেশন, এবং এমন পরিস্থিতি যেখানে তাৎক্ষণিক ভিজ্যুয়াল প্রতিক্রিয়া মূল্যবান। প্রোডাকশন মনিটরিং, দীর্ঘমেয়াদী ক্যাপচার এবং অপ্রয়োজনীয় অপারেশনের প্রয়োজন এমন পরিস্থিতির জন্য সার্ভার-সাইড ট্রেস বেছে নিন।
৬. বিশ্লেষণ SQL Server প্রোফাইলার ডেটা
৬.১ সংরক্ষিত ট্রেস খোলা এবং পর্যালোচনা করা
এই ধাপগুলি ব্যবহার করে সংরক্ষিত ট্রেস ফাইলগুলি লোড করুন:
- শুরু করা SQL Server প্রোফাইলার।
- ক্লিক ফাইল -> খোলা -> ট্রেস ফাইল.
- ট্রেস ফাইলের অবস্থানে যান।
- .trc ফাইলটি নির্বাচন করুন এবং ক্লিক করুন খোলা.
- ট্রেস ডেটা মূল উইন্ডোতে লোড হয়।
এই প্রক্রিয়া অনুসরণ করে ট্রেস টেবিল লোড করুন:
- ক্লিক ফাইল -> খোলা -> ট্রেস টেবিল.
- সার্ভারের সাথে সংযোগ করুন hostট্রেস টেবিলে প্রবেশ করছি।
- থেকে ডাটাবেস নির্বাচন করুন ডেটাবেস ড্রপডাউন।
- থেকে টেবিলটি বেছে নিন টেবিল ড্রপডাউন।
- ক্লিক OK ডেটা লোড করতে।
৬.২ ট্রেস ডেটা ফিল্টারিং এবং অনুসন্ধান করা
6.2.1 Post-ক্যাপচার ফিল্টারিং
এই ধাপগুলি ব্যবহার করে লোড করা ট্রেস ডেটাতে ফিল্টার প্রয়োগ করুন:
- ক্লিক সম্পাদন করা -> আবিষ্কার বা প্রেস CTRL + F.
- অনুসন্ধানের টেক্সট লিখুন কি খুঁজে ক্ষেত্র।
- থেকে অনুসন্ধান করার জন্য কলামটি নির্বাচন করুন ভিতরে তাকান ড্রপডাউন।
- ক্লিক পরবর্তী খুঁজে মিলে যাওয়া ইভেন্টগুলি খুঁজে পেতে।
কলাম-ভিত্তিক ফিল্টারিং ইভেন্টগুলি পুনরুদ্ধার না করেই প্রদর্শিত ডেটা পরিমার্জন করে। যেকোনো কলামের শিরোনামে ডান-ক্লিক করুন এবং প্রসঙ্গ মেনু থেকে ফিল্টার বিকল্পগুলি নির্বাচন করুন। শুধুমাত্র মিলিত সারিগুলি দেখানোর জন্য ফিল্টারের মানদণ্ড লিখুন। এই পদ্ধতিটি অপ্রাসঙ্গিক ইভেন্টগুলি লুকিয়ে বিশ্লেষণকে গতি দেয়।
৬.২.২ নির্দিষ্ট ঘটনা খুঁজে বের করা
অনুসন্ধান কার্যকারিতা বৃহৎ ট্রেস ফাইলগুলিতে নির্দিষ্ট ইভেন্টগুলি সনাক্ত করতে সহায়তা করে। পাঠ্য সামগ্রী, ইভেন্টের ধরণ, বা কলামের মান অনুসারে অনুসন্ধান করতে অনুসন্ধান ডায়ালগটি ব্যবহার করুন। প্রয়োজনে নিয়মিত এক্সপ্রেশন জটিল অনুসন্ধান প্যাটার্নগুলিকে সক্ষম করে।
বিশ্লেষণের সময় দ্রুত রেফারেন্সের জন্য গুরুত্বপূর্ণ ইভেন্টগুলি বুকমার্ক করুন। আকর্ষণীয় ইভেন্টগুলিতে ডান-ক্লিক করুন এবং সেগুলি চিহ্নিত করার জন্য বুকমার্ক বিকল্পগুলি নির্বাচন করুন। কীবোর্ড শর্টকাট বা মেনু কমান্ড ব্যবহার করে বুকমার্কগুলির মধ্যে নেভিগেট করুন, সম্পর্কিত ইভেন্টগুলির তুলনা সহজতর করুন।
৬.৩ ইভেন্টগুলিকে গোষ্ঠীবদ্ধকরণ এবং একত্রিতকরণ
প্যাটার্ন সনাক্ত করতে এবং কার্যকলাপ সারসংক্ষেপ করতে কলামের মান অনুসারে ইভেন্টগুলিকে গ্রুপ করুন। যেকোনো কলামের শিরোনামে ডান-ক্লিক করুন এবং নির্বাচন করুন এই কলাম অনুসারে গ্রুপ করুন ইভেন্টগুলি সংগঠিত করতে। গোষ্ঠীবদ্ধ দৃশ্যগুলি একই ধরণের ইভেন্টগুলিকে একসাথে ভেঙে দেয়, যার ফলে সামগ্রিক প্যাটার্নগুলি দেখা সহজ হয়।
সমষ্টিগত ভিউ ট্রেস ডেটার পরিসংখ্যানগত সারসংক্ষেপ প্রদান করে। প্রতিটি কোয়েরি কতবার সম্পাদিত হয় তা দেখার জন্য TextData অনুসারে গ্রুপ করা হয়। প্রতি ব্যবহারকারীর কার্যকলাপের সারসংক্ষেপ দেখার জন্য LoginName অনুসারে গ্রুপ করা হয়। সমষ্টিগতকরণ বিস্তারিত ইভেন্ট তালিকাগুলিতে তাৎক্ষণিকভাবে স্পষ্ট নয় এমন প্যাটার্ন প্রকাশ করে।
নির্দিষ্ট বিভাগগুলিতে ড্রিল করার জন্য গ্রুপগুলি প্রসারিত এবং সঙ্কুচিত করুন। গ্রুপ করা ইভেন্টগুলি দেখাতে বা লুকাতে গ্রুপ হেডারের পাশে প্লাস এবং মাইনাস আইকনগুলিতে ক্লিক করুন। এটি এখানেrarচিকাল ভিউ টপ-ডাউন বিশ্লেষণকে সহজতর করে, starউচ্চ-স্তরের নিদর্শনগুলির সাথে টিং এবং বিশদে ডুব দেওয়া।
৬.৪ ট্রেস থেকে SQL কোয়েরি বের করা
এই ধাপগুলি অনুসরণ করে ট্রেস ডেটা থেকে প্রশ্নগুলি বের করুন:
- ট্রেস গ্রিডে আগ্রহের প্রশ্নটি সনাক্ত করুন।
- ইভেন্টটি নির্বাচন করতে সারিতে ক্লিক করুন।
- নিচের প্যানেলে সম্পূর্ণ কোয়েরি টেক্সটটি দেখুন।
- প্রেস জন্য Ctrl + একটি সমস্ত কোয়েরি টেক্সট নির্বাচন করতে।
- প্রেস CTRL + C কোয়েরি টেক্সট কপি করতে।
- আরও বিশ্লেষণের জন্য কোয়েরিটি ম্যানেজমেন্ট স্টুডিওতে পেস্ট করুন।
পারফরম্যান্স কলামের উপর ভিত্তি করে সমস্যাযুক্ত কোয়েরিগুলি শনাক্ত করুন। এক্সিকিউশন সময় অনুসারে সাজানোর জন্য সময়কাল কলামের হেডারে ক্লিক করুন। সাজানোর দিকের উপর নির্ভর করে সবচেয়ে ধীর কোয়েরিগুলি উপরে বা নীচে প্রদর্শিত হয়। একইভাবে, রিসোর্স-ইনটেনসিভ অপারেশনগুলি সনাক্ত করতে CPU, Reads, অথবা Writes অনুসারে সাজান।
ট্রেস থেকে কোয়েরি উইন্ডোতে কপি করে পরীক্ষার জন্য কোয়েরি রপ্তানি করুন। অপ্টিমাইজেশন কৌশল পরীক্ষা করার জন্য এক্সট্র্যাক্ট করা কোয়েরিগুলি পরিবর্তন করুন। আসল এবং অপ্টিমাইজ করা সংস্করণের মধ্যে এক্সিকিউশন প্ল্যান এবং পারফরম্যান্স মেট্রিক্সের তুলনা করুন।
৬.৫ ঘটনাবলীর পারস্পরিক সম্পর্ক স্থাপন এবং সম্পাদন প্রবাহ বোঝা
পিতামাতা-সন্তানের ইভেন্টের সম্পর্কগুলি কার্যকর করার উচ্চ হার দেখায়rarSQL:BatchS সম্পর্কেtarটিং ইভেন্টের মূল SQL:StmtStarটিং ইভেন্ট, যা পরবর্তীতে প্যারেন্ট প্রসিডিউর এক্সিকিউশন ইভেন্ট তৈরি করে। এই সম্পর্কগুলি বোঝা আপনার কোডের মাধ্যমে সম্পূর্ণ এক্সিকিউশন পাথগুলি ট্রেস করতে সাহায্য করে।
লেনদেন ট্র্যাকিং সময়ের সাথে সম্পর্কিত ইভেন্টগুলিকে সংযুক্ত করে। SPID কলাম ব্যবহার করে ইভেন্টগুলিকে সেশন অনুসারে গ্রুপ করুন। একটি সেশনের মধ্যে, ইভেন্টগুলি কালানুক্রমিক ক্রমে ঘটে, যা ক্রিয়াকলাপের ক্রম দেখায়। এই ভিউটি প্রকাশ করে যে লেনদেনের মধ্যে বিভিন্ন ক্রিয়াকলাপ কীভাবে ইন্টারঅ্যাক্ট করে।
ভাগ করা কলামের মান পরীক্ষা করে ইভেন্টগুলিকে পারস্পরিক সম্পর্কযুক্ত করুন। একই SPID সহ ইভেন্টগুলি একই সেশনে ঘটেছে। একই ApplicationName সহ ইভেন্টগুলি একই অ্যাপ্লিকেশন থেকে এসেছে। জটিল এক্সিকিউশন পরিস্থিতি বুঝতে এই পারস্পরিক সম্পর্কগুলি ব্যবহার করুন।
7. সাধারণ SQL Server প্রোফাইলার ব্যবহারের ক্ষেত্রে
৭.১ কর্মক্ষমতা সমস্যা সমাধান
৭.১.১ ধীরগতির প্রশ্নগুলি সনাক্তকরণ
নিম্নলিখিত কনফিগারেশন ব্যবহার করে ধীরগতির প্রশ্নগুলি ক্যাপচার করুন:
- ব্যবহার করে একটি নতুন ট্রেস তৈরি করুন টিএসকিউএল টেমপ্লেট.
- মধ্যে ইভেন্ট নির্বাচন ট্যাব, যাচাই করুন SQL:BatchCompleted সম্পর্কে এবং RPC: সম্পন্ন হয়েছে নির্বাচিত হয়।
- ক্লিক কলাম ফিল্টার.
- নির্বাচন করা স্থিতিকাল কলাম তালিকা থেকে।
- এ 1000000 লিখুন বৃহত্তর অথবা সমান ১ সেকেন্ডের বেশি সময় নেয় এমন প্রশ্ন ক্যাপচার করার জন্য ফিল্ড।
- ক্লিক OK এবং গুলিtarট্রেসটি।
- সর্বোচ্চ ব্যবহারের সময় ট্রেসটি চালান।
- ট্রেসটি বন্ধ করুন এবং সবচেয়ে ধীর কোয়েরিগুলি সনাক্ত করতে সময়কাল অনুসারে সাজান।
সময়কাল-ভিত্তিক বিশ্লেষণ কার্যকর করার সময় প্যাটার্ন প্রকাশ করে। দীর্ঘতম চলমান ক্রিয়াকলাপগুলি প্রথমে দেখতে সময়কাল কলাম অনুসারে ক্যাপচার করা ইভেন্টগুলিকে সাজান। বিলম্বের জন্য দায়ী প্রকৃত প্রশ্নগুলি সনাক্ত করতে এই ইভেন্টগুলির জন্য TextData কলামটি পরীক্ষা করুন।
CPU এবং I/O নিবিড় কোয়েরির জন্য বিভিন্ন অপ্টিমাইজেশন পদ্ধতির প্রয়োজন হয়। অ্যালগরিদমিক উন্নতির প্রয়োজন এমন প্রসেসর-বাউন্ড কোয়েরিগুলি খুঁজে পেতে CPU কলাম অনুসারে সাজান। ইনডেক্সিং বা কোয়েরি পুনর্লিখনের মাধ্যমে উপকৃত I/O-বাউন্ড কোয়েরিগুলি সনাক্ত করতে পঠন বা লেখার কলাম অনুসারে সাজান।
৭.১.২ ব্লকিং এবং ডেডলক সনাক্তকরণ
এই ধাপগুলি অনুসরণ করে ব্লকিং সনাক্তকরণ কনফিগার করুন:
- একটি নতুন ট্রেস তৈরি করুন।
- মধ্যে ইভেন্ট নির্বাচন ট্যাব, প্রসারিত করুন লক্স.
- নির্বাচন করা তালা: অচলাবস্থা এবং লক: ডেডলক চেইন.
- বিস্তৃত করা ত্রুটি এবং সতর্কতা.
- নির্বাচন করা অবরুদ্ধ প্রক্রিয়া প্রতিবেদন.
- কলাম অন্তর্ভুক্ত করুন: এসপিআইডি, টেক্সটডেটা, ডাটাবেসনাম, লগইন নাম.
- Starলক ইভেন্টের জন্য ট্রেস এবং মনিটর।
লক ইভেন্ট মনিটরিং অ্যাপ্লিকেশন কর্মক্ষমতা প্রভাবিত করে এমন কনকারেন্সি সমস্যাগুলি প্রকাশ করে। লক:ডেডলক ইভেন্টগুলি নির্দেশ করে কখন SQL Server অচলাবস্থার পরিস্থিতি সনাক্ত এবং সমাধান করা হয়েছে। লক: ডেডলক চেইন ইভেন্টগুলি অচলাবস্থার সাথে জড়িত প্রক্রিয়াগুলি দেখায়।
ডেডলক গ্রাফগুলি ডেডলক পরিস্থিতির দৃশ্যমান উপস্থাপনা প্রদান করে। যখন একটি ডেডলক ইভেন্ট ঘটে, তখন TextData কলামে ডেডলকের বর্ণনা দিয়ে XML থাকে। এই XMLটি কপি করুন এবং এটি খুলুন SQL Server ম্যানেজমেন্ট স্টুডিওতে গ্রাফিক্যাল ডেডলক ডায়াগ্রাম দেখানো হবে যা দেখায় কোন প্রক্রিয়াগুলি একে অপরকে ব্লক করেছে।
৭.১.৩ অনুপস্থিত সূচী খুঁজে বের করা
এই পদক্ষেপগুলি ব্যবহার করে সূচক বিশ্লেষণের জন্য কাজের চাপ ক্যাপচার করুন:
- ব্যবহার করে একটি নতুন ট্রেস তৈরি করুন সুরকরণ টেমপ্লেট.
- একটি ফাইলে সংরক্ষণ করার জন্য ট্রেসটি কনফিগার করুন।
- প্রতিনিধিত্বমূলক কাজের চাপের সময়কালে ট্রেসটি চালান।
- কমপক্ষে কয়েক ঘন্টার কার্যকলাপ সংগ্রহ করুন।
- ট্রেস বন্ধ করুন এবং ফাইলটি সংরক্ষণ করুন।
- ডাটাবেস ইঞ্জিন টিউনিং অ্যাডভাইজার চালু করুন।
- ওয়ার্কলোড উৎস হিসেবে ট্রেস ফাইলটি নির্বাচন করুন।
- সূচক সুপারিশ পেতে বিশ্লেষণ চালান।
ডাটাবেস ইঞ্জিন টিউনিং অ্যাডভাইজারের সাথে ইন্টিগ্রেশন সূচক সুপারিশকে স্বয়ংক্রিয় করে। টিউনিং অ্যাডভাইজর ক্যাপচার করা কাজের পরিমাণ বিশ্লেষণ করে এবং কর্মক্ষমতা উন্নত করতে পারে এমন সূচকের পরামর্শ দেয়। বাস্তবায়নের আগে সুপারিশগুলি সাবধানে পর্যালোচনা করুন, স্টোরেজ ওভারহেড এবং রক্ষণাবেক্ষণ বিবেচনা করুন।osts.
৭.২ অ্যাপ্লিকেশন সমস্যা সমাধান
৭.২.১ অ্যাপ্লিকেশন ত্রুটি ডিবাগ করা
এই কনফিগারেশন ব্যবহার করে অ্যাপ্লিকেশন ত্রুটিগুলি ট্র্যাক করুন:
- একটি নতুন ট্রেস তৈরি করুন।
- বিস্তৃত করা ত্রুটি এবং সতর্কতা ইভেন্ট নির্বাচন ট্যাবে।
- নির্বাচন করা ব্যতিক্রম, ব্যবহারকারীর ত্রুটি বার্তা, এবং দৃষ্টি আকর্ষণ করছি.
- কলাম অন্তর্ভুক্ত করুন: ভুল, টেক্সটডেটা, আবেদনের নাম, এসপিআইডি.
- দ্বারা ফিল্টার আবেদনের নাম আপনার আবেদনের উপর মনোযোগ দেওয়ার জন্য।
- Starত্রুটির দৃশ্যকল্পটি ট্রেস এবং পুনরুত্পাদন করুন।
- ডায়াগনের জন্য ক্যাপচার করা ত্রুটির ইভেন্টগুলি পর্যালোচনা করুনostআইসি তথ্য।
ত্রুটি ট্র্যাকিং অ্যাপ্লিকেশন থেকে প্রায়শই লুকানো ব্যতিক্রম বিবরণ প্রকাশ করে। ত্রুটি কলামে রয়েছে SQL Server ত্রুটি সংখ্যা। টেক্সটডেটা কলামটি ত্রুটির বার্তা এবং ত্রুটির কারণ অনুসন্ধান দেখায়। তীব্রতা কলামটি ত্রুটির তীব্রতার স্তর নির্দেশ করে।
এক্সেপশন মনিটরিং রানটাইম সমস্যাগুলি ধরে রাখে যার মধ্যে রয়েছে সীমাবদ্ধতা লঙ্ঘন, অনুমতি ত্রুটি এবং টাইমআউট ইভেন্ট। ব্যতিক্রমগুলি কী কারণে ট্রিগার হয়েছিল তা বোঝার জন্য পূর্ববর্তী কোয়েরি ইভেন্টগুলির সাথে ত্রুটি ইভেন্টগুলির সম্পর্ক স্থাপন করুন।
৭.২.২ অ্যাপ্লিকেশন-থেকে-ডাটাবেস যোগাযোগের ট্রেসিং
এই পদক্ষেপগুলি অনুসরণ করে অ্যাপ্লিকেশন কার্যকলাপ পর্যবেক্ষণ করুন:
- ব্যবহার করে একটি নতুন ট্রেস তৈরি করুন মান টেমপ্লেট.
- ক্লিক কলাম ফিল্টার.
- নির্বাচন করা আবেদনের নাম এবং আপনার আবেদনের নাম লিখুন মত ক্ষেত্র।
- ঐচ্ছিকভাবে ফিল্টার করুন Hostনাম নির্দিষ্ট সার্ভারগুলিকে বিচ্ছিন্ন করতে।
- Starঅ্যাপ্লিকেশন অপারেশনের সময় ট্রেসটি।
- সমস্ত ডাটাবেস ইন্টারঅ্যাকশন দেখতে ক্যাপচার করা ইভেন্টগুলি পর্যালোচনা করুন।
অ্যাপ্লিকেশনের নাম ফিল্টারিং নির্দিষ্ট অ্যাপ্লিকেশন থেকে প্রশ্নগুলিকে আলাদা করে। SQL Server সংযোগ স্ট্রিং থেকে অ্যাপ্লিকেশনের নাম সেট করে, যা বহু-অ্যাপ্লিকেশন পরিবেশে পৃথক অ্যাপ্লিকেশনগুলি ট্রেস করা সহজ করে তোলে। কার্যকর ফিল্টারিংয়ের জন্য আপনার সংযোগ স্ট্রিংটিতে অ্যাপ্লিকেশন নাম প্যারামিটার অন্তর্ভুক্ত রয়েছে তা যাচাই করুন।
সংযোগ ট্র্যাকিং লগইন, কোয়েরি এক্সিকিউশন এবং লগআউট ইভেন্ট সহ সেশন লাইফসাইকেল দেখায়। সংযোগ পুলিং সমস্যাগুলি সনাক্ত করতে সংযোগ তৈরির হার পর্যবেক্ষণ করুন। অতিরিক্ত সংযোগ পরিবর্তন সম্ভাব্য অ্যাপ্লিকেশন কনফিগারেশন সমস্যাগুলি নির্দেশ করে।
৭.২.৩ অ্যাপ্লিকেশন আচরণ যাচাইকরণ
ট্রেস বিশ্লেষণ ব্যবহার করে প্রত্যাশিত অ্যাপ্লিকেশন আচরণ যাচাই করুন। ব্যবসায়িক লেনদেনের সময় সমস্ত ডাটাবেস ক্রিয়াকলাপ ক্যাপচার করুন এবং সঠিক ক্রমানুসারে সম্পাদিত সঠিক প্রশ্নগুলি যাচাই করুন। অসঙ্গতিগুলি সনাক্ত করতে প্রত্যাশিত আচরণের সাথে প্রকৃত ক্যাপচার করা প্রশ্নের তুলনা করুন।
প্যারামিটার ভ্যালিডেশন নিশ্চিত করে যে অ্যাপ্লিকেশনগুলি সঞ্চিত পদ্ধতি এবং প্যারামিটারাইজড কোয়েরিতে সঠিক মান পাস করে। প্যারামিটারের মানগুলি প্রত্যাশার সাথে মেলে কিনা তা যাচাই করতে ক্যাপচার করা কোয়েরি টেক্সট পরীক্ষা করুন। ভুল প্যারামিটারগুলি প্রায়শই লজিক ত্রুটির কারণ হয় যা ভুল ব্যবসায়িক ফলাফল হিসাবে প্রকাশিত হয়।
৭.৩ নিরাপত্তা নিরীক্ষা
৭.৩.১ লগইন প্রচেষ্টা পর্যবেক্ষণ
এই ধাপগুলি ব্যবহার করে লগইন পর্যবেক্ষণ কনফিগার করুন:
- একটি নতুন ট্রেস তৈরি করুন।
- বিস্তৃত করা নিরাপত্তা নিরীক্ষা ইভেন্ট নির্বাচন ট্যাবে।
- নির্বাচন করা অডিট লগইন, অডিট লগআউট, এবং অডিট লগইন ব্যর্থ হয়েছে.
- কলাম অন্তর্ভুক্ত করুন: লগইন নাম, Hostনাম, আবেদনের নাম, Starসময়.
- Starপ্রমাণীকরণ কার্যকলাপ নিরীক্ষণের জন্য ট্রেস।
- সম্ভাব্য নিরাপত্তা সমস্যার জন্য ব্যর্থ লগইন ইভেন্টগুলি পর্যালোচনা করুন।
সফল এবং ব্যর্থ লগইনগুলি ব্যাপক প্রমাণীকরণ ট্র্যাকিং প্রদান করে। অডিট লগইন ইভেন্টগুলি ব্যবহারকারীর পরিচয় এবং উৎস তথ্য সহ সফল প্রমাণীকরণ প্রচেষ্টা রেকর্ড করে। অডিট লগইন ব্যর্থ ইভেন্টগুলি অসফল লগইন প্রচেষ্টা নির্দেশ করে যা আক্রমণ বা কনফিগারেশন সমস্যাগুলি উপস্থাপন করতে পারে।
প্রমাণীকরণ ট্র্যাকিং ডাটাবেস অ্যাক্সেসের ধরণগুলি প্রকাশ করে। অস্বাভাবিক কার্যকলাপ সনাক্ত করতে লগইন ফ্রিকোয়েন্সি পর্যবেক্ষণ করুন। একাধিক ব্যর্থ লগইন প্রচেষ্টা এবং তারপরে একটি সফল লগইনের ফলে শংসাপত্রের ক্ষতি হতে পারে। অপ্রত্যাশিত স্থান থেকে ব্যর্থ লগইন তদন্তের দাবি রাখে।
৭.৩.২ ডেটা অ্যাক্সেস এবং পরিবর্তন ট্র্যাকিং
এই কনফিগারেশন ব্যবহার করে ডেটা অ্যাক্সেস নিরীক্ষণ করুন:
- একটি নতুন ট্রেস তৈরি করুন।
- বিস্তৃত করা নিরাপত্তা নিরীক্ষা.
- নির্বাচন করা অডিট ডাটাবেস অবজেক্ট অ্যাক্সেস.
- কলাম অন্তর্ভুক্ত করুন: অবজেক্টের নাম, লগইন নাম, টেক্সটডেটা, ডাটাবেসনাম.
- দ্বারা ফিল্টার অবজেক্টের নাম নির্দিষ্ট সংবেদনশীল টেবিল পর্যবেক্ষণ করতে।
- Starঅ্যাক্সেস প্রচেষ্টা ক্যাপচার করার ট্রেস।
নির্বাচন, সন্নিবেশ, আপডেট, মুছে ফেলা ট্র্যাকিং ব্যাপক ডেটা পরিবর্তন অডিটিং প্রদান করে। সমস্ত ডেটা অ্যাক্সেস ক্রিয়াকলাপ পর্যবেক্ষণ করার জন্য উপযুক্ত ফিল্টার সহ SQL:Batchসম্পূর্ণ ইভেন্টগুলি ক্যাপচার করুন। সংবেদনশীল টেবিলগুলিতে ফোকাস করার জন্য ObjectName বা TextData দ্বারা ফিল্টার করুন।
সংবেদনশীল ডেটা অ্যাক্সেসের জন্য নিরাপত্তা নীতিমালা মেনে চলা নিশ্চিত করার জন্য সতর্ক পর্যবেক্ষণ প্রয়োজন। ব্যক্তিগত তথ্য, আর্থিক তথ্য, বা অন্যান্য গোপনীয় তথ্য ধারণকারী টেবিলের জন্য বিশেষভাবে ট্রেস তৈরি করুন। অনুপযুক্ত ডেটা অ্যাক্সেস সনাক্ত করতে নিয়মিত অ্যাক্সেস প্যাটার্ন পর্যালোচনা করুন।
ক্যাপচার করা ট্রেসগুলিতে কোয়েরি প্যাটার্ন বিশ্লেষণ করে সন্দেহজনক কার্যকলাপ সনাক্ত করুন। স্বাভাবিক অ্যাপ্লিকেশন আচরণের সাথে মেলে না এমন অস্বাভাবিক কোয়েরিগুলি সন্ধান করুন। WHERE ধারা ছাড়াই SELECT বিবৃতিগুলি সম্পূর্ণ টেবিল পুনরুদ্ধার করা ডেটা এক্সফিল্ট্রেশন প্রচেষ্টা নির্দেশ করতে পারে।
প্রিভিলেজ এসকেলেশনের প্রচেষ্টাগুলি অনুমতি ত্রুটি বা প্রশাসনিক কমান্ড কার্যকর করার প্রচেষ্টা হিসাবে প্রদর্শিত হয়। সিস্টেম টেবিল অ্যাক্সেস করার চেষ্টা করা, সার্ভার কনফিগারেশন পরিবর্তন করা, অথবা প্রিভিলেজড অ্যাকাউন্ট তৈরি করার চেষ্টা করা কোয়েরিগুলির জন্য নজর রাখুন। ত্রুটি ইভেন্টগুলির জন্য ফিল্টার করুন এবং সন্দেহজনক কার্যকলাপের জন্য টেক্সটডেটা কলাম পর্যালোচনা করুন।
৭.৪ সক্ষমতা পরিকল্পনা এবং কাজের চাপ বিশ্লেষণ
স্বাভাবিক ক্রিয়াকলাপের সময় প্রতিনিধিত্বমূলক কাজের চাপ ক্যাপচার করে বেসলাইন স্থাপন করুন। স্ট্যান্ডার্ড কার্যকলাপের ধরণগুলি বোঝার জন্য সাধারণ ব্যবসায়িক ঘন্টাগুলিতে ট্রেস চালান। ভবিষ্যতের তুলনার জন্য এই ট্রেসগুলিকে পারফরম্যান্স বেসলাইন হিসাবে সংরক্ষণ করুন।
আপনার সিস্টেমে সর্বোচ্চ লোড কখন অনুভব করা হয় তা পিক ইউসেজ আইডেন্টিফিকেশন থেকে জানা যায়। বিভিন্ন সময়কাল ধরে ট্রেস ক্যাপচার করুন, যেমন ব্যবসায়িক সময়, ব্যাচ প্রসেসিং উইন্ডো এবং আফটার-আওয়ার্স অ্যাক্টিভিটি। পিক পিরিয়ড শনাক্ত করতে ইভেন্টের সংখ্যা এবং রিসোর্স খরচ বিশ্লেষণ করুন।
কাজের চাপ বিশ্লেষণ থেকে সম্পদ ব্যবহারের ধরণ বেরিয়ে আসে। দিনের কার্যকলাপ বন্টন দেখার জন্য সময়ের ব্যবধান অনুসারে ইভেন্টগুলিকে গোষ্ঠীভুক্ত করুন। সম্পদের ব্যবহার পরিমাপ করার জন্য সামগ্রিক CPU, ডিস্ক I/O এবং সময়কাল মেট্রিক্স গণনা করুন। ক্ষমতা আপগ্রেড পরিকল্পনা করতে বা অপ্টিমাইজেশনের সুযোগগুলি সনাক্ত করতে এই ডেটা ব্যবহার করুন।
8. উন্নত SQL Server প্রোফাইলার কৌশল
৮.১ টি-এসকিউএল দিয়ে সার্ভার-সাইড ট্রেস তৈরি করা
৮.১.১ sp_trace_create এবং সম্পর্কিত পদ্ধতি ব্যবহার করা
T-SQL সঞ্চিত পদ্ধতি ব্যবহার করে প্রোগ্রাম্যাটিকভাবে সার্ভার-সাইড ট্রেস তৈরি করুন। এই পদ্ধতিটি প্রয়োজন ছাড়াই স্বয়ংক্রিয় ট্রেস তৈরি এবং পরিচালনা সক্ষম করে SQL Server প্রোফাইলারের গ্রাফিক্যাল ইন্টারফেস।
এই উদাহরণ কোড ব্যবহার করে একটি সার্ভার-সাইড ট্রেস সংজ্ঞায়িত করুন:
- ট্রেস আইডি এবং ফাইল পাথের জন্য ভেরিয়েবল ঘোষণা করুন।
- নতুন ট্রেস তৈরি করতে sp_trace_create এ কল করুন।
- ইভেন্ট এবং কলাম যোগ করতে sp_trace_setevent ব্যবহার করুন।
- ফিল্টার কনফিগার করতে ঐচ্ছিকভাবে sp_trace_setfilter ব্যবহার করুন।
- sp_trace_setstatus কে s এ কল করুনtarট্রেসটি।
sp_trace_create পদ্ধতিটি একটি নতুন ট্রেস সংজ্ঞা শুরু করে। আউটপুট ফাইলের পথ, সর্বাধিক ফাইলের আকার এবং রোলওভার বিকল্পগুলি নির্দিষ্ট করে। পদ্ধতিটি ট্রেস কনফিগার করার জন্য পরবর্তী প্রক্রিয়া কলগুলিতে ব্যবহৃত একটি ট্রেস আইডি প্রদান করে।
sp_trace_setevent পদ্ধতি ব্যবহার করে ইভেন্ট যোগ করুন। আপনি যে ইভেন্ট-কলাম সংমিশ্রণটি ক্যাপচার করতে চান তার জন্য ট্রেস আইডি, ইভেন্ট আইডি এবং কলাম আইডি নির্দিষ্ট করুন। সম্পূর্ণ ট্রেস কনফিগারেশন তৈরি করতে এই পদ্ধতিটি একাধিকবার কল করুন।
sp_trace_setfilter পদ্ধতি ব্যবহার করে ফিল্টার কনফিগার করুন। ট্রেস আইডি, কলাম আইডি, লজিক্যাল অপারেটর, তুলনা অপারেটর এবং ফিল্টার মান নির্দিষ্ট করুন। একাধিক ফিল্টার কল একত্রিত হয়ে জটিল ফিল্টার মানদণ্ড তৈরি করে।
Starস্ট্যাটাস মান ১ দিয়ে sp_trace_setstatus কল করে ট্রেসটি টি করুন। স্ট্যাটাস মান ০ দিয়ে একই পদ্ধতিতে কল করে ট্রেস বন্ধ করুন। স্ট্যাটাস মান ২ দিয়ে কল করে ট্রেস সংজ্ঞা মুছে ফেলুন।
৮.১.২ সার্ভার-সাইড ট্রেসের সুবিধা
ক্লায়েন্ট ওভারহেড কমানো সার্ভার-সাইড ট্রেসগুলিকে উৎপাদন পর্যবেক্ষণের জন্য আদর্শ করে তোলে। ডাটাবেস সার্ভার ক্লায়েন্ট মেশিন রিসোর্স ব্যবহার না করেই সমস্ত ট্রেস অপারেশন পরিচালনা করে। ক্লায়েন্ট অ্যাপ্লিকেশনে ইভেন্ট ট্রান্সমিট করার জন্য নেটওয়ার্ক ব্যান্ডউইথ ব্যবহার করা হয় না।
স্বয়ংক্রিয় সম্পাদন অপ্রয়োজনীয় ট্রেস সংগ্রহ সক্ষম করে। সার্ভার-সাইড ট্রেস তৈরির পরেও চলতে থাকে, এমনকি যদি কোনও ক্লায়েন্ট সংযোগ না থাকে। ট্রেস তৈরির সময়সূচী নির্ধারণ করুন SQL Server স্বয়ংক্রিয় পর্যবেক্ষণের জন্য এজেন্টের চাকরি।
সার্ভার-সাইড প্রক্রিয়াকরণের ফলে কর্মক্ষমতার উপর নিম্ন প্রভাব পড়ে। অতিরিক্ত সিরিয়ালাইজেশন বা নেটওয়ার্ক ট্রান্সমিশন ছাড়াই ইভেন্টগুলি সরাসরি ডিস্কে লেখা হয়। বাফার ব্যবস্থাপনা উন্নত সামগ্রিক কর্মক্ষমতার জন্য ডিস্ক I/O অপ্টিমাইজ করে।
৮.২ ট্রেস রিপ্লে কার্যকারিতা
৮.২.১ রিপ্লে করার জন্য ট্রেস ক্যাপচার করা
এই ধাপগুলি অনুসরণ করে রিপ্লে-রেডি ট্রেস তৈরি করুন:
- ব্যবহার করে একটি নতুন ট্রেস তৈরি করুন TSQL_রিপ্লে টেমপ্লেট.
- সমস্ত প্রয়োজনীয় ইভেন্ট এবং কলাম নির্বাচিত হয়েছে কিনা তা যাচাই করুন।
- একটি ফাইলে সংরক্ষণ করার জন্য ট্রেসটি কনফিগার করুন।
- আপনি যে কাজের চাপের সময়কাল ক্যাপচার করতে চান সেই সময় ট্রেসটি চালান।
- ট্রেস বন্ধ করুন এবং ফাইলটি সংরক্ষণ করুন।
প্রয়োজনীয় ইভেন্ট এবং কলামগুলি সম্পূর্ণ ট্রেস রিপ্লে নিশ্চিত করে। TSQL_Replay টেমপ্লেটে সমস্ত প্রয়োজনীয় ইভেন্ট প্রকার এবং ডেটা কলাম অন্তর্ভুক্ত থাকে। প্রয়োজনীয় উপাদানগুলি অনুপস্থিত থাকলে সফল রিপ্লে বাধাগ্রস্ত হয়, তাই রিপ্লে করার উদ্দেশ্যে ক্যাপচার করার সময় সর্বদা এই টেমপ্লেটটি ব্যবহার করুন।
৮.২.২ ট্রেস রিপ্লে করা হচ্ছে
এই ধাপগুলি ব্যবহার করে ক্যাপচার করা ওয়ার্কলোডগুলি পুনরায় চালান:
- In SQL Server প্রোফাইলার, ক্লিক করুন ফাইল -> খোলা -> ট্রেস ফাইল.
- রিপ্লে-রেডি ট্রেস ফাইলটি নির্বাচন করুন।
- ক্লিক আবার দেখাও -> Start.
- এর সাথে সংযুক্ত হন tarরিপ্লে ডায়ালগে সার্ভার পান।
- রিপ্লে অর্ডার এবং সময় সহ রিপ্লে বিকল্পগুলি কনফিগার করুন।
- ক্লিক OK রিপ্লে শুরু করতে।
- স্ট্যাটাস উইন্ডোতে রিপ্লে অগ্রগতি পর্যবেক্ষণ করুন।
রিপ্লে কনফিগারেশন অপশনগুলি কীভাবে নিয়ন্ত্রণ করে SQL Server প্রোফাইলার ক্যাপচার করা কাজের চাপ পুনরুৎপাদন করে। টেম্পোরাল সম্পর্ক বজায় রাখার জন্য ইভেন্টগুলিকে যে ক্রমে ক্যাপচার করা হয়েছিল সেই ক্রমে রিপ্লে করুন। আসল টাইমিং বজায় রাখা বা যত তাড়াতাড়ি সম্ভব ইভেন্টগুলি রিপ্লে করা কনফিগার করুন।
৮.২.৩ ট্রেস রিপ্লে-এর জন্য কেস ব্যবহার করুন
বাস্তবসম্মত কাজের চাপ পুনরুৎপাদন করে ট্রেস রিপ্লে থেকে লোড টেস্টিং সুবিধা লাভ করে। উৎপাদন কাজের চাপ ট্রেস ক্যাপচার করুন এবং বাস্তব ব্যবহারের ধরণ অনুসারে কর্মক্ষমতা যাচাই করার জন্য পরীক্ষা সিস্টেমের বিরুদ্ধে সেগুলি রিপ্লে করুন। বিভিন্ন লোড স্তর অনুকরণ করতে কনকারেন্সি সেটিংস সামঞ্জস্য করুন।
পরিবেশ মাইগ্রেশন বৈধতা নিশ্চিত করে যে নতুন সিস্টেমগুলি বিদ্যমান কাজের চাপ পরিচালনা করতে পারে। বর্তমান উৎপাদন সিস্টেম থেকে ট্রেস ক্যাপচার করুন এবং নতুন হার্ডওয়্যার বা আপডেটেড ডিভাইসে সেগুলি পুনরায় চালান। SQL Server সংস্করণ। মাইগ্রেশনের ফলে কর্মক্ষমতা হ্রাস পাবে না তা যাচাই করার জন্য কর্মক্ষমতা মেট্রিক্সের তুলনা করুন।
পরীক্ষার পরিস্থিতিতে কোড পরিবর্তনের পরে রিগ্রেশন পরীক্ষা, জুড়ে অপ্টিমাইজার পরিবর্তনগুলি যাচাই করা অন্তর্ভুক্ত SQL Server সংস্করণ, এবং স্ট্রেস টেস্টিং হার্ডওয়্যার কনফিগারেশন। রিপ্লে নির্ভরযোগ্য পরীক্ষার জন্য সামঞ্জস্যপূর্ণ, পুনরাবৃত্তিযোগ্য ওয়ার্কলোড প্রদান করে।
৮.৩ ডাটাবেস ইঞ্জিন টিউনিং অ্যাডভাইজারের সাথে SQL প্রোফাইলারকে একীভূত করা
উপযুক্ত ইভেন্ট সহ ট্রেস ক্যাপচার করে ডেটাবেস ইঞ্জিন টিউনিং অ্যাডভাইজারের জন্য ওয়ার্কলোড ফাইল তৈরি করুন। বিশ্লেষণের জন্য প্রয়োজনীয় সমস্ত তথ্য ক্যাপচার করা হয়েছে তা নিশ্চিত করতে টিউনিং টেমপ্লেটটি ব্যবহার করুন।
ডাটাবেস ইঞ্জিন টিউনিং অ্যাডভাইজার চালু করুন এবং আপনার ট্রেস ফাইলটিকে ওয়ার্কলোড সোর্স হিসেবে নির্বাচন করুন। অ্যাডভাইজার ক্যাপচার করা কোয়েরি বিশ্লেষণ করেন এবং সূচী, সূচীকৃত ভিউ, অথবা পার্টিশনিং কৌশলগুলি সুপারিশ করেন যা কর্মক্ষমতা উন্নত করবে।
পারফরম্যান্স অপ্টিমাইজেশন ওয়ার্কফ্লো টিউনিং বিশ্লেষণের সাথে ট্রেস ক্যাপচারকে একীভূত করে। স্বাভাবিক ক্রিয়াকলাপের সময় প্রতিনিধিত্বমূলক কাজের চাপ ক্যাপচার করুন, টিউনিং অ্যাডভাইজারের সাথে বিশ্লেষণ করুন, সুপারিশগুলি পর্যালোচনা করুন, উন্নয়নে প্রস্তাবিত পরিবর্তনগুলি পরীক্ষা করুন এবং অবশেষে উৎপাদনে অনুমোদিত পরিবর্তনগুলি বাস্তবায়ন করুন।
৮.৪ স্বয়ংক্রিয় ট্রেস সংগ্রহ
ব্যবহার করে ট্রেস নির্ধারণ করুন SQL Server স্বয়ংক্রিয়ভাবে ডেটা সংগ্রহের জন্য এজেন্টের কাজ। sp_trace পদ্ধতি ব্যবহার করে সার্ভার-সাইড ট্রেস সংজ্ঞায়িত করে এমন T-SQL স্ক্রিপ্ট তৈরি করুন। নির্দিষ্ট সময় বা বিরতিতে এই স্ক্রিপ্টগুলি চালানোর জন্য সময়সূচী করুন।
PowerShell অটোমেশন অত্যাধুনিক ট্রেস ম্যানেজমেন্ট পরিস্থিতি সক্ষম করে। PowerShell স্ক্রিপ্টগুলি লিখুন যা ট্রেস তৈরি করে, তাদের অবস্থা পর্যবেক্ষণ করে এবং সংগৃহীত ডেটা প্রক্রিয়া করে। টাস্ক শিডিউলারের মাধ্যমে PowerShell স্ক্রিপ্টগুলি নির্ধারণ করুন অথবা SQL Server প্রতিনিধি.
SQL Server এজেন্টের কাজগুলি নির্ভরযোগ্য নির্ধারিত কার্য সম্পাদন প্রদান করে। এমন চাকরি তৈরি করুন যাtarপর্যবেক্ষণ সময়ের শুরুতে t ট্রেস এবং তথ্য সংগ্রহ সম্পূর্ণ হওয়ার পরে স্টপ ট্রেস। ব্যর্থতার বিষয়ে প্রশাসকদের সতর্ক করার জন্য কাজের বিজ্ঞপ্তি কনফিগার করুন।
৮.৫ প্রোগ্রাম্যাটিকভাবে ট্রেস বিশ্লেষণ করা
fn_trace_gettable ফাংশন ব্যবহার করে T-SQL দিয়ে ট্রেস ফাইলগুলি পড়ুন। এই টেবিল-মূল্যায়িত ফাংশনটি ট্রেস ফাইলগুলিকে পার্স করে এবং ফলাফল সেট হিসাবে ইভেন্ট ডেটা ফেরত দেয়। কাস্টম বিশ্লেষণ সম্পাদন করতে স্ট্যান্ডার্ড T-SQL ব্যবহার করে এই ডেটাটি অনুসন্ধান করুন।
কাস্টম বিশ্লেষণ স্ক্রিপ্টগুলি স্বয়ংক্রিয় ট্রেস প্রক্রিয়াকরণ সক্ষম করে। সমষ্টিগত পরিসংখ্যান গণনা করে, প্যাটার্ন সনাক্ত করে বা অসঙ্গতি চিহ্নিত করে এমন কোয়েরি লিখুন। ট্রেস সংগ্রহ সম্পূর্ণ হওয়ার পরে স্বয়ংক্রিয়ভাবে চালানোর জন্য এই স্ক্রিপ্টগুলি নির্ধারণ করুন।
টেবিলে সংরক্ষিত ট্রেস ডেটা অনুসন্ধান করে প্রতিবেদন তৈরি করুন। সময়কাল, ব্যবহারকারী বা অ্যাপ্লিকেশন অনুসারে ইভেন্টগুলিকে একত্রিত করে এমন দৃশ্য তৈরি করুন। ডাটাবেস কার্যকলাপ এবং কর্মক্ষমতা সম্পর্কে নিয়মিত অন্তর্দৃষ্টি প্রদান করে এমন প্রতিবেদন সমাধান তৈরি করুন।
9. SQL Server প্রোফাইলারের সেরা অনুশীলন
৯.১ কর্মক্ষমতা সংক্রান্ত সর্বোত্তম অনুশীলন
৯.১.১ ট্রেস ওভারহেড মিনিমাইজ করা
ট্রেস ওভারহেড কমাতে শুধুমাত্র প্রয়োজনীয় ইভেন্ট নির্বাচন করুন। প্রতিটি অতিরিক্ত ইভেন্ট টাইপ ট্রেস ইঞ্জিনের প্রক্রিয়াকরণের পরিমাণ বৃদ্ধি করে। আপনার পর্যবেক্ষণের উদ্দেশ্যগুলি পর্যালোচনা করুন এবং কেবলমাত্র সেই লক্ষ্যগুলির সাথে সরাসরি প্রাসঙ্গিক ইভেন্টগুলি অন্তর্ভুক্ত করুন।
অপ্রাসঙ্গিক ডেটা ক্যাপচার করা রোধ করতে কার্যকরভাবে ফিল্টার ব্যবহার করুন। সিস্টেম ডেটাবেস বাদ দিতে DatabaseName অনুসারে ফিল্টার করুন। শুধুমাত্র ধীর গতির কোয়েরি ক্যাপচার করতে সময়কাল অনুসারে ফিল্টার করুন। নির্দিষ্ট অ্যাপ্লিকেশনগুলিতে ফোকাস করতে ApplicationName অনুসারে ফিল্টার করুন। সঠিক ফিল্টারিং নাটকীয়ভাবে ট্রেস ওভারহেড হ্রাস করে।
সার্ভার-সাইড বনাম ক্লায়েন্ট-সাইড বিবেচনাগুলি কর্মক্ষমতা প্রভাবকে প্রভাবিত করে। সার্ভার-সাইড ট্রেসগুলি ন্যূনতম ওভারহেড সহ সরাসরি ডিস্কে ডেটা লেখে। ক্লায়েন্ট-সাইড ট্রেসগুলি নেটওয়ার্কের মাধ্যমে ইভেন্টগুলিকে প্রোফাইলার ইন্টারফেসে প্রেরণ করে, যার ফলে লেটেন্সি এবং ব্যান্ডউইথ খরচ যোগ হয়। উৎপাদন পর্যবেক্ষণের জন্য সার্ভার-সাইড ট্রেস ব্যবহার করুন।
৯.১.২ ট্রেস স্টোরেজ অপ্টিমাইজ করা
ফাইলের আকার ব্যবস্থাপনা ডিস্কের স্থান হ্রাস রোধ করে। উপলব্ধ সঞ্চয়স্থানের জন্য উপযুক্ত সর্বোচ্চ ফাইলের আকার সীমা নির্ধারণ করুন। একটি ফাইল অনির্দিষ্টকালের জন্য বৃদ্ধি করার পরিবর্তে একাধিক ফাইল তৈরি করতে ফাইল রোলওভার সক্ষম করুন। ট্রেস এক্সিকিউশনের সময় ডিস্কের স্থান পর্যবেক্ষণ করুন।
টেবিল বনাম ফাইল স্টোরেজের মধ্যে বিভিন্ন পারফরম্যান্স ট্রেডঅফ জড়িত। ট্রেস এক্সিকিউশনের সময় ফাইল স্টোরেজ আরও ভালো পারফরম্যান্স প্রদান করে কারণ এটি স্টোরেজ ইঞ্জিনকে বাইপাস করে। টেবিল স্টোরেজ ট্রেস ডেটার বিরুদ্ধে T-SQL কোয়েরি সক্ষম করে কিন্তু লেখার ওভারহেড যোগ করে। আপনার বিশ্লেষণের প্রয়োজনীয়তার উপর ভিত্তি করে স্টোরেজের ধরণটি বেছে নিন।
৯.২ নিরাপত্তার সর্বোত্তম অনুশীলন
অনুমতি ব্যবস্থাপনা নিয়ন্ত্রণ করে কারা ট্রেস তৈরি এবং চালাতে পারবে। শুধুমাত্র বিশ্বস্ত ব্যবহারকারীদের যাদের ট্রেস ক্ষমতা প্রয়োজন তাদের ALTER TRACE অনুমতি দিন। সিস্টেম অ্যাডমিন ভূমিকার সদস্যদের অবাধ ট্রেস অ্যাক্সেস রয়েছে। নিয়মিত ট্রেস অনুমতি পর্যালোচনা এবং নিরীক্ষণ করুন।
সংবেদনশীল ডেটা সুরক্ষার জন্য সতর্কতার সাথে ট্রেস কনফিগারেশন প্রয়োজন। সংবেদনশীল ডেটা নিয়ে কাজ করার সময় সম্পূর্ণ কোয়েরি টেক্সট ক্যাপচার করা এড়িয়ে চলুন। গোপনীয় তথ্য ধারণকারী ট্রেস আউটপুট ফিল্টার বা এনক্রিপ্ট করার কথা বিবেচনা করুন। উপযুক্ত অ্যাক্সেস নিয়ন্ত্রণ সহ নিরাপদ স্থানে ট্রেস ফাইলগুলি সংরক্ষণ করুন।
ট্রেস ফাইল সুরক্ষা ক্যাপচার করা ডেটাতে অননুমোদিত অ্যাক্সেস প্রতিরোধ করে। ট্রেস ফাইলগুলিতে অ্যাক্সেস সীমাবদ্ধ করার জন্য ফাইল অনুমতি সেট করুন। সংবেদনশীল তথ্য থাকলে ট্রেস ফাইলগুলি এনক্রিপ্ট করুন। এক্সপোজার ঝুঁকি কমাতে বিশ্লেষণ সম্পূর্ণ হওয়ার পরে ট্রেস ফাইলগুলি মুছুন।
৯.৩ উৎপাদন পরিবেশগত বিবেচনা
৯.৩.১ উৎপাদনে প্রোফাইলার কখন ব্যবহার করবেন
ঝুঁকি মূল্যায়ন নির্ধারণ করে কখন SQL Server প্রোডাকশন ব্যবহারের জন্য প্রোফাইলার উপযুক্ত। প্রোফাইলার পরিমাপযোগ্য ওভারহেড প্রবর্তন করে যা ট্রেস স্কোপের সাথে বৃদ্ধি পায়। ডায়াগন কিনা তা মূল্যায়ন করুনostic মান উৎপাদন ট্রেস চালানোর আগে কর্মক্ষমতা প্রভাবকে ন্যায্যতা দেয়।
ন্যূনতম প্রভাব কনফিগারেশন নিরাপদ উৎপাদন ট্রেসিং সক্ষম করে। শুধুমাত্র গুরুত্বপূর্ণ ইভেন্টগুলি ক্যাপচার করার জন্য অত্যন্ত নির্বাচনী ফিল্টার ব্যবহার করুন। দ্রুত-সম্পাদনকারী প্রশ্নগুলি উপেক্ষা করার জন্য সময়কাল থ্রেশহোল্ড সেট করুন। সমস্যা সমাধানের সেশনের সময় ট্রেস সময়কালকে স্বল্প সময়ের মধ্যে সীমাবদ্ধ করুন। ক্লায়েন্ট ওভারহেড কমাতে সার্ভার-সাইড ট্রেস কনফিগার করুন।
৯.৩.২ উৎপাদন পর্যবেক্ষণের বিকল্প ব্যবস্থা
এক্সটেন্ডেড ইভেন্টস উৎপাদন পর্যবেক্ষণের জন্য কম ওভারহেড প্রদান করে। এই আধুনিক প্রযুক্তিটি তুলনামূলকভাবে ভালো কর্মক্ষমতা এবং নমনীয়তা প্রদান করে SQL Server প্রোফাইলার। দীর্ঘমেয়াদী উৎপাদন ব্যবহারের জন্য এক্সটেন্ডেড ইভেন্টগুলিতে পর্যবেক্ষণ সমাধানগুলি স্থানান্তর করুন।
কোয়েরি স্টোর ম্যানুয়াল ট্রেস কনফিগারেশন ছাড়াই স্বয়ংক্রিয়ভাবে কোয়েরি পারফরম্যান্স ডেটা ক্যাপচার করে। সময়ের সাথে সাথে কোয়েরি এক্সিকিউশন পরিসংখ্যান ট্র্যাক করতে প্রোডাকশন ডাটাবেসে কোয়েরি স্টোর সক্ষম করুন। কোয়েরি স্টোর এম প্রদান করেost ট্রেসিংয়ের অতিরিক্ত খরচ ছাড়াই কর্মক্ষমতা পর্যবেক্ষণ ক্ষমতা।
ডায়নামিক ম্যানেজমেন্ট ভিউ নির্দিষ্ট পরিস্থিতিতে হালকা পর্যবেক্ষণ প্রদান করে। DMV গুলি ঐতিহাসিক ঘটনাগুলি ক্যাপচার না করেই বর্তমান অবস্থার তথ্য প্রদান করে। ক্রমাগত ট্রেসিং ছাড়াই সার্ভারের স্বাস্থ্য পর্যবেক্ষণের জন্য পর্যায়ক্রমে DMV গুলিকে জিজ্ঞাসা করুন।
৯.৪ ট্রেস ব্যবস্থাপনার সর্বোত্তম অনুশীলন
নামকরণের নিয়মাবলী নিশ্চিত করে যে ট্রেস ফাইলগুলি শনাক্তযোগ্য এবং সংগঠিত। ট্রেস ফাইলের নামগুলিতে তারিখ, সময়, সার্ভারের নাম এবং উদ্দেশ্য অন্তর্ভুক্ত করুন। ব্যবস্থাপনা এবং বিশ্লেষণ সহজতর করার জন্য সমস্ত ট্রেস জুড়ে সামঞ্জস্যপূর্ণ নামকরণের ধরণ ব্যবহার করুন।
ডকুমেন্টেশন রেকর্ড ট্রেস কনফিগারেশন এবং উদ্দেশ্য। আপনি কোন ইভেন্টগুলি ক্যাপচার করেছেন, কেন আপনি ট্রেস তৈরি করেছেন এবং বিশ্লেষণ থেকে আপনি কী শিখেছেন তা নথিভুক্ত করুন। সম্মতি এবং সমস্যা সমাধানের উদ্দেশ্যে উৎপাদন সিস্টেমের বিরুদ্ধে চালিত ট্রেসের একটি লগ বজায় রাখুন।
ধরে রাখার নীতিগুলি অতিরিক্ত ট্রেস ফাইল জমা হওয়া রোধ করে। ব্যবসায়িক প্রয়োজনীয়তা এবং স্টোরেজ ক্ষমতার উপর ভিত্তি করে ট্রেস ফাইলগুলি কতক্ষণ ধরে রাখা উচিত তা নির্ধারণ করুন। ডিস্কে স্থান খালি করতে পুরানো ট্রেস ফাইলগুলি স্বয়ংক্রিয়ভাবে মুছে ফেলা। মুছে ফেলার আগে গুরুত্বপূর্ণ ট্রেসগুলি দীর্ঘমেয়াদী স্টোরেজে সংরক্ষণ করুন।
এড়ানোর জন্য 9.5টি সাধারণ ভুল
অতিরিক্ত ট্রেসিংয়ের ফলে অতিরিক্ত পারফরম্যান্স ওভারহেড হয় এবং নিয়ন্ত্রণহীন ডেটা ভলিউম তৈরি হয়। ফিল্টার ছাড়া সমস্ত ইভেন্ট ক্যাপচার করা এড়িয়ে চলুন। Starসংকীর্ণ, কেন্দ্রীভূত ট্রেস সহ t এবং প্রয়োজনে কেবল সুযোগ প্রসারিত করুন। কার্যকর সমস্যা সমাধানের জন্য আরও ডেটা সর্বদা ভাল নয়।
ট্রেস বন্ধ করতে ভুলে গেলে রিসোর্স নষ্ট হয় এবং ডিস্কের জায়গা ভরে যায়। মনিটরিং সম্পূর্ণ হলে সর্বদা ট্রেস বন্ধ করুন। রানওয়ে ট্রেস প্রতিরোধের জন্য ট্রেস সময়কাল সীমা বা সর্বাধিক ফাইলের আকার নির্ধারণ করুন। নিয়মিত চলমান ট্রেস পর্যবেক্ষণ করুন এবং নিষ্ক্রিয় বা অপ্রয়োজনীয় ট্রেস বন্ধ করুন।
ফিল্টার অপ্টিমাইজেশন উপেক্ষা করলে কর্মক্ষমতা খারাপ হয় এবং বিশ্লেষণ করা কঠিন হয়। কার্যকর ফিল্টার কনফিগার করার আগে সময় বিনিয়োগ করুনtarটিং ট্রেস। ডেভেলপমেন্ট পরিবেশে ফিল্টারগুলি পরীক্ষা করে দেখুন যাতে তারা প্রত্যাশিত ডেটা ক্যাপচার করে। ক্যাপচার করা ফলাফলের উপর ভিত্তি করে ফিল্টারগুলি পর্যালোচনা এবং পরিমার্জন করুন।
10. এর বিকল্প SQL Server ২০২৫ সালে প্রোফাইলার
১০.১ বর্ধিত ঘটনাবলী: আধুনিক প্রতিস্থাপন
১০.১.১ বর্ধিত ইভেন্টগুলি কী কী?
বর্ধিত ইভেন্টগুলি প্রতিনিধিত্ব করে SQL Serverএর আধুনিক ইভেন্ট হ্যান্ডলিং আর্কিটেকচার। মাইক্রোসফ্ট এই সিস্টেমটি বিশেষভাবে তৈরি করেছে যাতে SQL Server প্রোফাইলারের সীমাবদ্ধতাগুলির মধ্যে রয়েছে কর্মক্ষমতা ওভারহেড এবং কনফিগারেশন নমনীয়তা। এক্সটেন্ডেড ইভেন্টস উল্লেখযোগ্যভাবে কম সম্পদ খরচের সাথে ব্যাপক পর্যবেক্ষণ ক্ষমতা প্রদান করে।
স্থাপত্য এবং সুবিধাগুলি এক্সটেন্ডেড ইভেন্টগুলিকে পুরানো ট্রেসিং প্রযুক্তি থেকে আলাদা করে। ইভেন্ট ইঞ্জিনটি গভীরভাবে সংহত করে SQL Serverএর মূল স্থাপত্য, ন্যূনতম ওভারহেড সহ ইভেন্টগুলি ক্যাপচার করে। অ্যাসিঙ্ক্রোনাস ইভেন্ট বাফারিং ডেটাবেস ক্রিয়াকলাপগুলিকে ব্লক করা থেকে পর্যবেক্ষণকে বাধা দেয়। নমনীয় tarপাওয়ার বিকল্পগুলি বিভিন্ন আউটপুট কনফিগারেশন সক্ষম করে।
পারফরম্যান্স সুবিধাগুলি এক্সটেন্ডেড ইভেন্টগুলিকে উৎপাদন পর্যবেক্ষণের জন্য আদর্শ করে তোলে। বেঞ্চমার্কগুলি দেখায় যে এক্সটেন্ডেড ইভেন্টগুলি সমতুল্যের তুলনায় 50-90% কম ওভারহেড প্রবর্তন করে। SQL Server প্রোফাইলার ট্রেস। উচ্চ ইভেন্ট ভলিউমের সাথে আর্কিটেকচারটি আরও ভালভাবে স্কেল করে এবং আরও সমসাময়িক পর্যবেক্ষণ সেশন সমর্থন করে।
১০.১.২ প্রোফাইলার থেকে এক্সটেন্ডেড ইভেন্টে স্থানান্তর
ইভেন্ট ম্যাপিং অনুবাদ SQL Server প্রোফাইলার ইভেন্ট থেকে এক্সটেন্ডেড ইভেন্টের সমতুল্য। এমost প্রোফাইলার ইভেন্টগুলিতে সংশ্লিষ্ট এক্সটেন্ডেড ইভেন্টস প্রতিরূপ রয়েছে। মাইক্রোসফ্ট দুটি সিস্টেমের মধ্যে সাধারণ ইভেন্টগুলির ডকুমেন্টেশন ম্যাপিং সরবরাহ করে।
এক্সটেন্ডেড ইভেন্টসে সেশন তৈরির জন্য নতুন সিনট্যাক্স এবং ধারণা শেখা প্রয়োজন। T-SQL CREATE EVENT SESSION স্টেটমেন্ট ব্যবহার করে ইভেন্ট সেশন নির্ধারণ করুন অথবা ম্যানেজমেন্ট স্টুডিওতে এক্সটেন্ডেড ইভেন্টস গ্রাফিকাল ইন্টারফেস ব্যবহার করুন। সেশনগুলি কোন ইভেন্টগুলি ক্যাপচার করতে হবে, কোন ডেটা সংগ্রহ করতে হবে এবং ফলাফল কোথায় সংরক্ষণ করতে হবে তা নির্দিষ্ট করে।
১০.১.৩ এক্সটেন্ডেড ইভেন্ট টুল এবং ইন্টারফেস
SSMS এক্সটেন্ডেড ইভেন্টস UI গ্রাফিক্যাল সেশন ম্যানেজমেন্ট প্রদান করে। অবজেক্ট এক্সপ্লোরারে ম্যানেজমেন্ট ফোল্ডারের মাধ্যমে এক্সটেন্ডেড ইভেন্টস অ্যাক্সেস করুন। ইন্টারফেসের মাধ্যমে ইভেন্ট সেশন তৈরি করুন, পরিবর্তন করুন এবং নিরীক্ষণ করুন। গ্রিড এবং চার্ট সহ গ্রাফিক্যাল ফর্ম্যাটে ক্যাপচার করা ডেটা দেখুন।
টি-এসকিউএল সেশন ম্যানেজমেন্ট প্রোগ্রাম্যাটিক এক্সটেন্ডেড ইভেন্টস নিয়ন্ত্রণ সক্ষম করে। কোডে সেশন সংজ্ঞায়িত করতে ইভেন্ট সেশন স্টেটমেন্ট তৈরি করুন। চলমান সেশনগুলি পরিবর্তন করতে ALTER ইভেন্ট সেশন ব্যবহার করুন। DROP ইভেন্ট সেশন দিয়ে সেশনগুলি ড্রপ করুন। এই পদ্ধতিটি স্বয়ংক্রিয় পর্যবেক্ষণ সমাধানগুলিকে সহজতর করে।
10.2 SQL Server অনুসন্ধান দোকান
কোয়েরি স্টোর, যেখানে এটি সক্রিয় থাকে, সেই ডাটাবেসের জন্য স্বয়ংক্রিয়ভাবে কোয়েরি পারফর্ম্যান্স ডেটা ক্যাপচার করে। এই বৈশিষ্ট্যটি ম্যানুয়াল ট্রেস কনফিগারেশন ছাড়াই সময়ের সাথে সাথে কোয়েরি প্ল্যান, এক্সিকিউশন পরিসংখ্যান এবং পারফর্ম্যান্স মেট্রিক্স ট্র্যাক করে। কোয়েরি স্টোর ঐতিহাসিক ডেটা বজায় রাখে যা ট্রেন্ড বিশ্লেষণ এবং রিগ্রেশন সনাক্তকরণ সক্ষম করে।
কোয়েরি স্টোরের মাধ্যমে রিয়েল-টাইম কোয়েরি পারফর্ম্যান্স মনিটরিং বর্তমান সিস্টেমের আচরণ প্রকাশ করে। সম্প্রতি সম্পাদিত কোয়েরি, তাদের কার্যকরকরণ পরিকল্পনা এবং সম্পদের ব্যবহার দেখুন। ক্রমবর্ধমান সময়কাল বা পরিবর্তনশীল এক্সিকিউশন পরিকল্পনা সহ কোয়েরিগুলি সনাক্ত করুন যা সমস্যা নির্দেশ করতে পারে।
ঐতিহাসিক ক্যোয়ারী বিশ্লেষণ সময়কাল জুড়ে তুলনা সক্ষম করে। ক্যোয়ারী স্টোর কনফিগারযোগ্য ধারণ সময়ের জন্য কর্মক্ষমতা ডেটা ধরে রাখে। রিগ্রেশন সনাক্ত করতে ঐতিহাসিক বেসলাইনের সাথে বর্তমান কর্মক্ষমতা তুলনা করুন। ভবিষ্যতের ক্ষমতার চাহিদা পূর্বাভাস দেওয়ার জন্য কর্মক্ষমতা প্রবণতা বিশ্লেষণ করুন।
যখন আপনার স্বয়ংক্রিয়, সর্বদা-চালু কর্মক্ষমতা পর্যবেক্ষণের প্রয়োজন হয় তখন Query Store ব্যবহার করুন। ক্রমাগত ক্যোয়ারী আচরণ ট্র্যাক করার জন্য উৎপাদন ডাটাবেসে Query Store সক্ষম করুন। Query Store কর্মক্ষমতা সমস্যাগুলির জন্য ঐতিহাসিক প্রেক্ষাপট প্রদান করে ট্রেস-ভিত্তিক সমস্যা সমাধানের পরিপূরক।
৮.১.৪ গতিশীল ব্যবস্থাপনা দৃশ্য (DMV)
DMV-এর মাধ্যমে হালকা পর্যবেক্ষণ ঐতিহাসিক ঘটনাগুলি ধারণ না করেই বর্তমান অবস্থার তথ্য প্রদান করে। DMV-গুলি অভ্যন্তরীণ তথ্য প্রকাশ করে SQL Server কোয়েরিযোগ্য ভিউয়ের মাধ্যমে পরিসংখ্যান এবং মেটাডেটা। স্ট্যান্ডার্ড T-SQL SELECT স্টেটমেন্ট ব্যবহার করে DMV গুলি কোয়েরি করুন।
পারফরম্যান্স মনিটরিংয়ের জন্য সাধারণ DMV কোয়েরির মধ্যে রয়েছে কোয়েরি পারফরম্যান্স পরিসংখ্যানের জন্য sys.dm_exec_query_stats, বর্তমানে এক্সিকিউটিং রিকোয়েস্টের জন্য sys.dm_exec_requests এবং অপেক্ষা পরিসংখ্যানের জন্য sys.dm_os_wait_stats। এই ভিউগুলি সার্ভারের স্বাস্থ্য এবং কার্যকলাপের পয়েন্ট-ইন-টাইম অন্তর্দৃষ্টি প্রদান করে।
DMV গুলি রিয়েল-টাইম মেট্রিক্স প্রদান করে ট্রেস-ভিত্তিক পর্যবেক্ষণের পরিপূরক। দ্রুত স্বাস্থ্য পরীক্ষা এবং বর্তমান অবস্থা বিশ্লেষণের জন্য DMV গুলি ব্যবহার করুন। ব্যাপক সমস্যা সমাধানের পদ্ধতির জন্য DMV কোয়েরিগুলিকে ট্রেস ডেটার সাথে একত্রিত করুন।
১৩.৩ তৃতীয় পক্ষের পর্যবেক্ষণ সরঞ্জাম
বাণিজ্যিক বিকল্পগুলি উন্নত পর্যবেক্ষণ ক্ষমতা প্রদান করে SQL Serverএর অন্তর্নির্মিত সরঞ্জাম। SolarWinds, Redgate, এবং Quest এর মতো বিক্রেতাদের পণ্যগুলি ব্যাপক পর্যবেক্ষণ, সতর্কতা এবং বিশ্লেষণ বৈশিষ্ট্য প্রদান করে। এই সরঞ্জামগুলি প্রায়শই ট্রেস, DMV এবং কর্মক্ষমতা কাউন্টার সহ একাধিক ডেটা উৎসকে একত্রিত করে।
বৈশিষ্ট্য তুলনা বিভিন্ন পর্যবেক্ষণ পদ্ধতির শক্তি প্রকাশ করে। তৃতীয় পক্ষের সরঞ্জামগুলি উন্নত ব্যবহারকারী ইন্টারফেস, স্বয়ংক্রিয় সতর্কতা এবং ঐতিহাসিক প্রবণতা প্রদান করে। SQL Serverএর অন্তর্নির্মিত সরঞ্জামগুলি কোনও অতিরিক্ত সংযোগ প্রদান করে নাost এবং আরও গভীর একীকরণ। আপনার নির্দিষ্ট প্রয়োজনীয়তা এবং বাজেটের উপর ভিত্তি করে সরঞ্জামগুলি মূল্যায়ন করুন।
১০.৫ আপনার প্রয়োজনের জন্য সঠিক সরঞ্জাম নির্বাচন করা
একটি ডিসিশন ম্যাট্রিক্স উপযুক্ত পর্যবেক্ষণ সরঞ্জাম নির্বাচন করতে সাহায্য করে। অ্যাড-হক সমস্যা সমাধানের জন্য, SQL Server প্রোফাইলার অ্যাক্সেসযোগ্য এবং কার্যকর থাকে। উৎপাদন পর্যবেক্ষণের জন্য, এক্সটেন্ডেড ইভেন্টস বা কোয়েরি স্টোর আরও ভাল কর্মক্ষমতা প্রদান করে। ব্যাপক এন্টারপ্রাইজ পর্যবেক্ষণের জন্য, তৃতীয় পক্ষের সমাধানগুলি এমost বৈশিষ্ট্য.
টুল নির্বাচনের মানদণ্ডের মধ্যে রয়েছে পারফরম্যান্স ওভারহেড, ব্যবহারের সহজতা, ডেটা ধরে রাখার প্রয়োজনীয়তা এবং বাজেটের সীমাবদ্ধতা। টুল নির্বাচন করার সময় আপনার দলের দক্ষতা বিবেচনা করুন। পরিচিত টুলগুলি দ্রুত সমস্যা সমাধান করতে সক্ষম করে, এমনকি যদি নতুন বিকল্পগুলি আরও ভাল বৈশিষ্ট্য প্রদান করে।
ব্যাপক পর্যবেক্ষণ কৌশলের জন্য একাধিক সরঞ্জাম একত্রিত করুন। ক্রমাগত কর্মক্ষমতা ট্র্যাকিংয়ের জন্য কোয়েরি স্টোর, নির্দিষ্ট সমস্যা তদন্তের জন্য এক্সটেন্ডেড ইভেন্ট এবং রিয়েল-টাইম স্বাস্থ্য পরীক্ষার জন্য DMV ব্যবহার করুন। এই স্তরযুক্ত পদ্ধতিটি অতিরিক্ত ওভারহেড ছাড়াই শক্তিশালী পর্যবেক্ষণ প্রদান করে।
11. সমস্যা সমাধান SQL Server প্রোফাইলার সমস্যা
১১.১ সাধারণ সংযোগ সমস্যা
প্রমাণীকরণ ব্যর্থতা প্রতিরোধ করে SQL Server সংযোগ থেকে প্রোফাইলার tarসার্ভার পান। যাচাই করুন যে আপনি নির্বাচিত প্রমাণীকরণ পদ্ধতির জন্য সঠিক শংসাপত্র ব্যবহার করছেন। উইন্ডোজ প্রমাণীকরণের জন্য আপনার উইন্ডোজ অ্যাকাউন্টে উপযুক্ত SQL Server অনুমতি। SQL Server প্রমাণীকরণের জন্য বৈধ SQL লগইন শংসাপত্র প্রয়োজন।
নেটওয়ার্ক সংযোগ সমস্যাগুলি টাইমআউট ত্রুটি বা সংযোগ ব্যর্থতার মাধ্যমে প্রকাশ পায়। যাচাই করুন। SQL Server এর কনফিগারেশনে দূরবর্তী সংযোগের অনুমতি দেয়। ফায়ারওয়াল সেটিংস ট্র্যাফিকের অনুমতি দেয় কিনা তা পরীক্ষা করুন SQL Serverএর পোর্ট। প্রোফাইলার-নির্দিষ্ট সমস্যা সমাধানের আগে পিং এবং টেলনেট ব্যবহার করে মৌলিক সংযোগ পরীক্ষা করুন।
১১.২ প্রোফাইলারের সাথে কর্মক্ষমতা সমস্যা
ধীর ট্রেস এক্সিকিউশন ট্রেস কনফিগারেশন থেকে অতিরিক্ত ওভারহেড নির্দেশ করে। নির্বাচিত ইভেন্টগুলি পর্যালোচনা করুন এবং অপ্রয়োজনীয়গুলি বাদ দিন। ক্যাপচার করা ইভেন্টের পরিমাণ কমাতে ফিল্টার যোগ করুন। ক্লায়েন্ট-সাইড প্রসেসিং লোড কমাতে সার্ভার-সাইড ট্রেস ব্যবহার করার কথা বিবেচনা করুন।
উচ্চ সম্পদের ব্যবহার উভয়কেই প্রভাবিত করে SQL Server এবং প্রোফাইলার ক্লায়েন্ট। ট্রেস এক্সিকিউশনের সময় সার্ভারের সিপিইউ এবং মেমোরি পর্যবেক্ষণ করুন। যদি সার্ভার রিসোর্স সীমাবদ্ধ থাকে, তাহলে ফিল্টার সিলেক্টিভিটি বাড়ান বা ক্যাপচারের সময়কাল কমিয়ে দিন। ক্লায়েন্ট রিসোর্স সমস্যার জন্য অন্যান্য অ্যাপ্লিকেশন বন্ধ করা বা ক্লায়েন্ট হার্ডওয়্যার আপগ্রেড করা প্রয়োজন।
১১.৩ ফাইল এবং টেবিলের সমস্যাগুলি ট্রেস করুন
দূষিত ট্রেস ফাইলগুলি খোলার ক্ষেত্রে বাধা দেয় SQL Server প্রোফাইলার। সাধারণত দুর্নীতির কারণ হয় অযৌক্তিক ট্রেস টার্মিনেশন বা ডিস্ক ত্রুটি। ফাইলটি সম্পূর্ণরূপে দূষিত কিনা তা যাচাই করার জন্য একটি টেক্সট এডিটরে খোলার চেষ্টা করুন। কখনও কখনও fn_trace_gettable ব্যবহার করে একটি টেবিলে আমদানি করে আংশিক ডেটা পুনরুদ্ধার করা যেতে পারে।
থেকে ট্রেস লোড করার চেষ্টা করার সময় টেবিল অ্যাক্সেস সমস্যা দেখা দেয় SQL Server টেবিল। ট্রেস টেবিলে আপনার SELECT অনুমতি আছে কিনা তা যাচাই করুন। টেবিলটি বাদ দেওয়া হয়নি বা পুনঃনামকরণ করা হয়নি তা পরীক্ষা করুন। নিশ্চিত করুন যে আপনি সঠিক সার্ভার এবং ট্রেস টেবিল ধারণকারী ডাটাবেসের সাথে সংযোগ করছেন।
১১.৪ অনুপস্থিত ঘটনা বা অসম্পূর্ণ তথ্য
ফিল্টারের ভুল কনফিগারেশনের কারণে ট্রেসগুলি প্রত্যাশিত ইভেন্টগুলি মিস করে। ফিল্টারের মানদণ্ডগুলি সাবধানে পর্যালোচনা করুন যাতে তারা কাঙ্ক্ষিত ইভেন্টগুলি বাদ না দেয়। সংক্ষিপ্ত ট্রেস চালিয়ে এবং ক্যাপচার করা ডেটা প্রত্যাশার সাথে মেলে কিনা তা যাচাই করে ফিল্টারগুলি পরীক্ষা করুন। ফিল্টারের গতি সরান।rarতারা সমস্যা সৃষ্টি করছে কিনা তা নির্ধারণ করার জন্য।
বাফার ওভারফ্লো তখন ঘটে যখন SQL Server ইভেন্ট জেনারেশনের সাথে তাল মিলিয়ে চলার জন্য ট্রেস ডেটা দ্রুত লিখতে পারছি না। সাধারণত উচ্চ কার্যকলাপের সময় ফিল্টার না করা ট্রেসের ক্ষেত্রে এটি ঘটে। লক্ষণগুলির মধ্যে রয়েছে অনুপস্থিত ইভেন্ট বা "ইভেন্টগুলি ক্যাপচার করা হয়নি" সতর্কতা। ইভেন্টের ভলিউম কমাতে ফিল্টার যোগ করে বা ট্রেস ফাইল অবস্থান ডিস্ক I/O কর্মক্ষমতা বাড়িয়ে সমাধান করুন।
১১.৫ প্রোফাইলার ক্র্যাশ এবং ত্রুটি
সাধারণ ত্রুটি বার্তাগুলির মধ্যে রয়েছে "ট্রেস তৈরি করতে অক্ষম" যা অনুমতি সমস্যা বা রিসোর্সের সীমাবদ্ধতা নির্দেশ করে। "ট্রেস বন্ধ করা হয়েছে" বার্তাগুলি সার্ভার-সাইড ট্রেস ব্যর্থতা নির্দেশ করে সম্ভবত ডিস্ক পূর্ণ অবস্থার কারণে। "অবৈধ ট্রেস সংজ্ঞা" ত্রুটিগুলি কনফিগারেশন সমস্যা নির্দেশ করে।
সমাধানের কৌশলগুলি নির্দিষ্ট ত্রুটির উপর নির্ভর করে। অনুমতি ত্রুটির জন্য ব্যবহারকারীকে ALTER TRACE অনুমতি প্রদান করা প্রয়োজন। রিসোর্স ত্রুটির জন্য ডিস্ক স্থান বা মেমরি খালি করা প্রয়োজন। কনফিগারেশন ত্রুটির জন্য ট্রেস সেটিংস পর্যালোচনা এবং সংশোধন করা প্রয়োজন। Restart SQL Server প্রোফাইলার যদি প্রতিক্রিয়াহীন হয়ে যায়।
12. ব্যবহারিক SQL Server প্রোফাইলার পরিস্থিতি এবং উদাহরণ
১২.১ দৃশ্যকল্প ১: আপনার ডাটাবেসের সবচেয়ে ধীরগতির প্রশ্নগুলি সনাক্ত করা
এই ওয়াকথ্রুতে ধীরগতির প্রশ্নগুলি ক্যাপচার এবং বিশ্লেষণ করার পদ্ধতি দেখানো হয়েছে।
এই ধাপগুলি অনুসরণ করে ট্রেসটি কনফিগার করুন:
- শুরু করা SQL Server প্রোফাইলার এবং আপনার সাথে সংযোগ করুন tarসার্ভার পান।
- ক্লিক ফাইল -> নতুন ট্রেস.
- "ধীর ক্যোয়ারী বিশ্লেষণ" লিখুন ট্রেস নাম ক্ষেত্র।
- নির্বাচন করা টিএসকিউএল থেকে টেমপ্লেট ব্যবহার করুন ড্রপডাউন।
- ক্লিক ইভেন্ট নির্বাচন ট্যাব।
- ক্লিক কলাম ফিল্টার.
- নির্বাচন করা স্থিতিকাল এবং 1000000 লিখুন বৃহত্তর অথবা সমান.
- নির্বাচন করা ডাটাবেসনাম এবং আপনার ডাটাবেসের নাম লিখুন মত.
- ক্লিক OK ফিল্টার বন্ধ করতে।
- সক্ষম করা ফাইল এ সংরক্ষণ করুন এবং একটি ফাইল পাথ নির্দিষ্ট করুন।
- ক্লিক চালান থেকে starধরা না।
কাজের চাপ ক্যাপচার করার জন্য, ব্যস্ত সময়ে কমপক্ষে 30 মিনিট ট্রেসটি চালান। পর্যাপ্ত তথ্য সংগ্রহের পরে ট্রেসটি বন্ধ করুন।
এই প্রক্রিয়া অনুসরণ করে ফলাফল বিশ্লেষণ করুন:
- ক্লিক করুন স্থিতিকাল সম্পাদনের সময় অনুসারে সাজানোর জন্য কলাম হেডার।
- সবচেয়ে দীর্ঘস্থায়ী ১০টি প্রশ্ন চিহ্নিত করুন।
- প্রতিটি প্রশ্নের জন্য, পরীক্ষা করুন টেক্সটডেটা কলাম।
- কোয়েরি টেক্সটটি কপি করে ম্যানেজমেন্ট স্টুডিওতে পেস্ট করুন।
- ব্যবহার আনুমানিক কার্যকর পরিকল্পনা প্রদর্শন করুন প্রশ্নটি বিশ্লেষণ করতে।
- টেবিল স্ক্যান, অনুপস্থিত সূচী, অথবা অদক্ষ জয়েনগুলি সন্ধান করুন।
- পর্যালোচনা সিপিইউ, রাউন্ডআপ, এবং লিখেছেন সম্পদ ব্যবহারের ধরণগুলির জন্য কলাম।
১২.২ দৃশ্যপট ২: একটি অচলাবস্থার সমস্যা ডিবাগ করা
এই উদাহরণটি দেখায় কিভাবে অচলাবস্থাগুলি ক্যাপচার এবং বিশ্লেষণ করতে হয়।
এই পদক্ষেপগুলি ব্যবহার করে অচলাবস্থা পর্যবেক্ষণ কনফিগার করুন:
- "ডেডলক ইনভেস্টিগেশন" নামে একটি নতুন ট্রেস তৈরি করুন।
- ক্লিক ইভেন্ট নির্বাচন ট্যাব।
- ক্লিক সমস্ত ঘটনা দেখান.
- বিস্তৃত করা লক্স বিভাগ।
- নির্বাচন করা তালা: অচলাবস্থা.
- নির্বাচন করা লক: ডেডলক চেইন.
- বিস্তৃত করা ত্রুটি এবং সতর্কতা বিভাগ।
- নির্বাচন করা অবরুদ্ধ প্রক্রিয়া প্রতিবেদন.
- নিশ্চিত করা টেক্সটডেটা কলামটি নির্বাচিত হয়েছে।
- ক্লিক চালান থেকে starটি পর্যবেক্ষণ।
ট্রেস এক্সিকিউশনের সময় যখন কোনও অচলাবস্থা দেখা দেয়, তখন ট্রেস গ্রিডে Lock:Deadlock ইভেন্টটি উপস্থিত হয়।
এই ধাপগুলি অনুসরণ করে অচলাবস্থার তথ্য ব্যাখ্যা করুন:
- ক্লিক করুন তালা: অচলাবস্থা ইভেন্ট সারি।
- দেখুন টেক্সটডেটা নীচের প্যানেলে কলাম।
- TextData থেকে XML কন্টেন্ট কপি করুন।
- ম্যানেজমেন্ট স্টুডিও খুলুন এবং একটি নতুন কোয়েরি উইন্ডো তৈরি করুন।
- কোয়েরি উইন্ডোতে XML পেস্ট করুন।
- ফাইলটি .xdl এক্সটেনশন দিয়ে সংরক্ষণ করুন।
- অচলাবস্থার গ্রাফ দেখতে ম্যানেজমেন্ট স্টুডিওতে .xdl ফাইলটি খুলুন।
- গ্রাফটিতে জড়িত প্রক্রিয়া, লক করা সম্পদ এবং নির্বাচিত শিকার দেখানো হয়েছে।
- দ্বন্দ্ব বুঝতে উভয় প্রক্রিয়ার প্রশ্নগুলি পর্যালোচনা করুন।
সমাধানের ধাপগুলিতে সাধারণত অ্যাপ্লিকেশন কোডে ক্রিয়াকলাপগুলিকে পুনর্বিন্যাস করা হয় যাতে সম্পদগুলিকে সামঞ্জস্যপূর্ণ ক্রমে অ্যাক্সেস করা যায়, লেনদেনের সুযোগ হ্রাস করা হয়, অথবা উপযুক্ত লকিং ইঙ্গিত বাস্তবায়ন করা হয়।
১২.৩ দৃশ্যপট ৩: একটি নির্দিষ্ট অ্যাপ্লিকেশন থেকে সমস্ত প্রশ্নের ট্র্যাক করা
এই দৃশ্যকল্পটি অ্যাপ্লিকেশন-নির্দিষ্ট ক্যোয়ারী পর্যবেক্ষণ প্রদর্শন করে।
এই ধাপগুলি ব্যবহার করে অ্যাপ্লিকেশন-নির্দিষ্ট ট্রেসিং কনফিগার করুন:
- "অ্যাপ্লিকেশন কোয়েরি ট্র্যাকিং" নামে একটি নতুন ট্রেস তৈরি করুন।
- নির্বাচন করুন মান টেমপ্লেট.
- ক্লিক ইভেন্ট নির্বাচন ট্যাব।
- ক্লিক কলাম ফিল্টার.
- নির্বাচন করা আবেদনের নাম.
- আপনার আবেদনের নাম লিখুন মত ক্ষেত্র।
- যদি আপনার অ্যাপ্লিকেশনটি সংযোগ পুলিং ব্যবহার করে, তাহলে আপনার ওয়াইল্ডকার্ড ম্যাচিং প্রয়োজন হতে পারে।
- ক্লিক OK ফিল্টার প্রয়োগ করতে।
- সক্ষম করা টেবিলে সংরক্ষণ করুন সহজে জিজ্ঞাসা করার জন্য।
- ক্লিক চালান থেকে starধরা না।
কোয়েরি প্যাটার্ন বিশ্লেষণ প্রকাশ করে যে আপনার অ্যাপ্লিকেশন কীভাবে ইন্টারঅ্যাক্ট করে SQL Server:
- তথ্য সংগ্রহের পর, ট্রেস বন্ধ করুন।
- ম্যানেজমেন্ট স্টুডিও খুলুন এবং ট্রেস টেবিলের সাহায্যে সার্ভারের সাথে সংযোগ করুন।
- প্যাটার্ন বিশ্লেষণ করতে ট্রেস টেবিলটি জিজ্ঞাসা করুন।
- অপারেশন মিক্স দেখতে টাইপ অনুসারে কোয়েরি গণনা করুন।
- মি সনাক্ত করুনost ঘন ঘন সম্পাদিত প্রশ্ন।
- ক্যাশে বা অপ্টিমাইজ করা যেতে পারে এমন কোয়েরিগুলি খুঁজুন।
- সংযোগ পুলিং অনুপস্থিতির ইঙ্গিত দেয় এমন একই ধরণের প্রশ্নের পুনরাবৃত্তি পরীক্ষা করুন।
১২.৪ দৃশ্যপট ৪: সম্মতির জন্য ডেটা অ্যাক্সেস নিরীক্ষণ
এই উদাহরণটি নিরাপত্তা অডিট ট্রেইল তৈরির পদ্ধতি দেখায়।
এই ধাপগুলি অনুসরণ করে নিরাপত্তা নিরীক্ষা কনফিগার করুন:
- "সিকিউরিটি অডিট ট্রেইল" নামে একটি নতুন ট্রেস তৈরি করুন।
- ক্লিক ইভেন্ট নির্বাচন ট্যাব।
- ক্লিক সমস্ত ঘটনা দেখান.
- বিস্তৃত করা নিরাপত্তা নিরীক্ষা বিভাগ।
- নির্বাচন করা অডিট লগইন, অডিট লগআউট, অডিট লগইন ব্যর্থ হয়েছে.
- নির্বাচন করা অডিট ডাটাবেস অবজেক্ট অ্যাক্সেস.
- বিস্তৃত করা টিএসকিউএল বিভাগ।
- নির্বাচন করা SQL:BatchCompleted সম্পর্কে.
- ক্লিক কলাম ফিল্টার.
- দ্বারা ফিল্টার অবজেক্টের নাম নির্দিষ্ট সংবেদনশীল টেবিল পর্যবেক্ষণ করতে।
- সক্ষম করা টেবিলে সংরক্ষণ করুন দীর্ঘমেয়াদী ধরে রাখার জন্য।
- অপ্রয়োজনীয় অপারেশনের জন্য সার্ভার-সাইড ট্রেস সক্ষম করুন।
- ক্লিক চালান থেকে starটি অডিটিং।
ট্রেস টেবিলটি অনুসন্ধান করে অডিট রিপোর্ট তৈরি করুন:
- ব্যবহারকারী এবং সময়কাল অনুসারে অ্যাক্সেসের সারসংক্ষেপ সহ কোয়েরি তৈরি করুন।
- অস্বাভাবিক প্রবেশের ধরণ বা কর্মঘণ্টার পরে কার্যকলাপ সনাক্ত করুন।
- নিরাপত্তা পর্যালোচনার জন্য ডকুমেন্ট লগইন প্রচেষ্টা ব্যর্থ হয়েছে।
- সম্মতি ডকুমেন্টেশনের জন্য রিপোর্টিং সিস্টেমে অডিট ডেটা রপ্তানি করুন।
- ধারণ নীতি অনুসারে সম্পন্ন নিরীক্ষার ট্রেসগুলি সংরক্ষণাগারভুক্ত করুন।
১২.৫ দৃশ্যপট ৫: কর্মক্ষমতা পরীক্ষার জন্য কাজের চাপ ক্যাপচার করা
এই দৃশ্যকল্পটি পরীক্ষার উদ্দেশ্যে কাজের চাপ ক্যাপচার প্রদর্শন করে।
এই ধাপগুলি ব্যবহার করে রিপ্লে-রেডি ট্রেস তৈরি করুন:
- "ওয়ার্কলোড ক্যাপচার" নামে একটি নতুন ট্রেস তৈরি করুন।
- নির্বাচন করা TSQL_রিপ্লে টেমপ্লেট ড্রপডাউন থেকে।
- এই টেমপ্লেটে রিপ্লে করার জন্য প্রয়োজনীয় সমস্ত ইভেন্ট এবং কলাম অন্তর্ভুক্ত রয়েছে।
- ক্লিক ইভেন্ট নির্বাচন ট্যাব।
- নির্দিষ্ট কাজের চাপের অংশগুলি ক্যাপচার করতে চাইলে ফিল্টার প্রয়োগ করুন।
- সক্ষম করা ফাইল এ সংরক্ষণ করুন.
- পর্যাপ্ত ডিস্ক স্থান সহ একটি ফাইল পাথ নির্দিষ্ট করুন।
- উপযুক্ত ফাইল আকারের সীমা নির্ধারণ করুন এবং রোলওভার সক্ষম করুন।
- ক্লিক চালান থেকে starধরা না।
প্রতিনিধিত্বমূলক ব্যবসায়িক কার্যক্রমের সময় ক্যাপচার করুন। ব্যাপক কাজের চাপ ক্যাপচারের জন্য, বিভিন্ন কার্যকলাপের ধরণ কভার করে কয়েক ঘন্টা ধরে ট্রেসটি চালান। পর্যাপ্ত তথ্য সংগ্রহের পরে ট্রেসটি বন্ধ করুন।
কাজের চাপ বিশ্লেষণ সিস্টেমের আচরণের ধরণ প্রকাশ করে:
- ক্যাপচার করা ট্রেস ফাইলটি খুলুন SQL Server প্রোফাইলার।
- ধরণ এবং সময় অনুসারে ইভেন্ট বিতরণ পর্যালোচনা করুন।
- সামগ্রিক সম্পদ ব্যবহারের মেট্রিক্স গণনা করুন।
- সর্বোচ্চ কার্যকলাপের সময়কাল এবং সম্পদের বাধা চিহ্নিত করুন।
- ডাটাবেস ইঞ্জিন টিউনিং অ্যাডভাইজার বিশ্লেষণের জন্য ট্রেসটি ব্যবহার করুন।
- পরিবর্তনগুলি যাচাই করতে টেস্ট সিস্টেমের বিপরীতে ট্রেসটি পুনরায় চালান।
১৩. ডাটাবেস দুর্নীতি সনাক্তকরণ SQL Server প্রোফাইলার
13.1 ব্যবহার করা SQL Server দুর্নীতির প্রাথমিক সতর্কতা চিহ্নের প্রোফাইলার
ডাটাবেস দুর্নীতি m এর মধ্যে একটি প্রতিনিধিত্ব করেost ডেটা অখণ্ডতা এবং সিস্টেমের নির্ভরযোগ্যতার জন্য গুরুতর হুমকি। যদিও SQL Server প্রোফাইলার কোনও নিবেদিতপ্রাণ দুর্নীতি সনাক্তকরণ সরঞ্জাম নয়, এটি গুরুত্বপূর্ণ সতর্কতা চিহ্নগুলি ধরে রাখতে পারে যা সম্ভাব্য দুর্নীতির সমস্যাগুলি নির্দেশ করে যার তাৎক্ষণিক তদন্ত প্রয়োজন।
১৩.২ সম্ভাব্য দুর্নীতি নির্দেশকারী গুরুতর ত্রুটির ঘটনা
- তীব্রতা 24 ত্রুটি (823, 824, 825): হার্ডওয়্যার এবং মিডিয়া ব্যর্থতা।
- ত্রুটি 605: পৃষ্ঠা পুনরুদ্ধারের প্রচেষ্টা ব্যর্থ হয়েছে
- ত্রুটি 8928 এবং 8929: অবজেক্ট দুর্নীতি
১৩.৩ সন্দেহজনক ডাটাবেস আচরণ এবং সতর্কতামূলক ধরণ
- নির্দিষ্ট বস্তুর উপর বারবার কোয়েরি টাইমআউট
- অ্যাক্সেস লঙ্ঘন এবং অ্যাপ্লিকেশন ক্র্যাশ
- অস্বাভাবিক ত্রুটি ক্লাস্টারিং
১৩.৪ প্রোফাইলারের ফলাফলের উপর ভিত্তি করে DBCC CHECKDB চালান
If SQL Server প্রোফাইলার সন্দেহজনক দুর্নীতি খুঁজে পান, আপনি ডাটাবেসের সম্পূর্ণ পরীক্ষা করার জন্য DBCC CHECKDB ব্যবহার করতে পারেন। তারপর দুর্নীতি নিশ্চিত হলে মেরামত করুন। আমরা লিখেছি এই কাজগুলি কীভাবে করবেন তার একটি বিস্তৃত নির্দেশিকা.
যদি DBCC CHECKDB ডাটাবেস মেরামত করতে ব্যর্থ হয়, তাহলে দুর্নীতি তীব্র হয়। এই ক্ষেত্রে, আপনি অবলম্বন করতে পারেন একটি তৃতীয় পক্ষের SQL পুনরুদ্ধার টুল.
14. প্রায়শই জিজ্ঞাসিত প্রশ্নাবলী
প্রশ্ন: কি SQL Server প্রোফাইলার এখনও সমর্থিত SQL Server 2022?
উত্তর: হ্যাঁ, SQL Server প্রোফাইলার এখনও অন্তর্ভুক্ত রয়েছে SQL Server 2022 এবং SQL Server ম্যানেজমেন্ট স্টুডিও, যদিও এটি তখন থেকে অবচিত হচ্ছে SQL Server ২০১৬। মাইক্রোসফট বর্তমান সংস্করণগুলির সাথে টুলটি সরবরাহ করে চলেছে, তবে নতুন পর্যবেক্ষণ বাস্তবায়নের জন্য এক্সটেন্ডেড ইভেন্টগুলিতে স্থানান্তর করার পরামর্শ দিচ্ছে। টুলটি কার্যকরী এবং সমস্যা সমাধান এবং অ্যাড-হক বিশ্লেষণের জন্য ব্যাপকভাবে ব্যবহৃত হয়।
প্রশ্নঃ এর মধ্যে পার্থক্য কি SQL Server প্রোফাইলার এবং SQL ট্রেস?
A: SQL Server প্রোফাইলার হল গ্রাফিক্যাল ইউজার ইন্টারফেস টুল যা এর মধ্যে চলমান SQL ট্রেস ইঞ্জিনের সাথে সংযোগ স্থাপন করে SQL Server। SQL Trace হল অন্তর্নিহিত প্রযুক্তি যা আসলে ইভেন্টগুলি ক্যাপচার করে। আপনি প্রোফাইলারের ইন্টারফেস ব্যবহার করে অথবা sp_trace_create এর মতো T-SQL সঞ্চিত পদ্ধতির মাধ্যমে সরাসরি ট্রেস তৈরি করতে পারেন। প্রোফাইলার সহজ কনফিগারেশন প্রদান করে যেখানে T-SQL ট্রেস আরও অটোমেশন সম্ভাবনা প্রদান করে।
প্রশ্ন: পারফরম্যান্স ওভারহেড কত? SQL Server প্রোফাইলার যোগ করবেন?
উত্তর: পারফরম্যান্সের প্রভাব ট্রেস কনফিগারেশনের উপর নির্ভর করে পরিবর্তিত হয়। শুধুমাত্র নির্দিষ্ট ইভেন্ট ক্যাপচার করার জন্য একটি ভালভাবে ফিল্টার করা ট্রেস 1-5% ওভারহেড যোগ করতে পারে। ফিল্টার ছাড়া খারাপভাবে কনফিগার করা ট্রেস 20-50% বা তার বেশি ওভারহেড যোগ করতে পারে, বিশেষ করে ব্যস্ত সিস্টেমে। সার্ভার-সাইড ট্রেসের প্রভাব ক্লায়েন্ট-সাইড ট্রেসের তুলনায় কম। সর্বদা ইভেন্টের পরিমাণ কমাতে এবং নন-প্রোডাকশন পরিবেশে ট্রেস পরীক্ষা করতে ফিল্টার ব্যবহার করুন।
প্রশ্ন: আমি কি দৌড়াতে পারি? SQL Server প্রোডাকশন সার্ভারে প্রোফাইলার?
উত্তর: আপনি চালাতে পারেন SQL Server প্রোডাকশন সার্ভারে প্রোফাইলার হিসেবে কাজ করুন, তবে সাবধানতা অবলম্বন করুন। অত্যন্ত নির্বাচনী ফিল্টার ব্যবহার করুন, ট্রেস সময়কাল সীমিত করুন এবং প্রভাব কমাতে সার্ভার-সাইড ট্রেস পছন্দ করুন। সম্ভব হলে কম-অ্যাক্টিভিটি সময়কালে প্রোডাকশন ট্রেস চালান। ক্রমাগত প্রোডাকশন মনিটরিংয়ের জন্য, এক্সটেন্ডেড ইভেন্টস বা কোয়েরি স্টোর বিবেচনা করুন, কারণ তারা কম ওভারহেড অফার করে।
প্রশ্ন: আমার কী কী অনুমতি ব্যবহার করতে হবে? SQL Server প্রোফাইলার?
উত্তর: ট্রেস তৈরি এবং চালানোর জন্য আপনার ALTER TRACE অনুমতি প্রয়োজন। sysadmin স্থির সার্ভার ভূমিকার সদস্যদের স্বয়ংক্রিয়ভাবে এই অনুমতি থাকে। নন-sysadmin ব্যবহারকারীদের জন্য, স্পষ্টভাবে ALTER TRACE অনুমতি দিন। অতিরিক্তভাবে, আপনার কনফিগারেশনের উপর ভিত্তি করে ফাইল বা টেবিলে ট্রেস ডেটা সংরক্ষণ করার জন্য আপনার উপযুক্ত অনুমতি প্রয়োজন।
প্রশ্ন: আমার ট্রেসে সব ইভেন্ট কেন দেখতে পাচ্ছি না?
A: অনুপস্থিত ইভেন্টগুলি সাধারণত অতিরিক্ত সীমাবদ্ধ ফিল্টার বা বাফার ওভারফ্লো থেকে উদ্ভূত হয়। আপনার ফিল্টার কনফিগারেশনটি পর্যালোচনা করুন যাতে নিশ্চিত হন যে এটি কাঙ্ক্ষিত ইভেন্টগুলি বাদ দিচ্ছে না। বাফার ওভারফ্লো তখন ঘটে যখন SQL Server ব্যস্ত সিস্টেমে সাধারণত ফিল্টার না করা ট্রেস থাকে, তাই ইভেন্টগুলি যথেষ্ট দ্রুত লেখা সম্ভব নয়। ইভেন্টের ভলিউম কমাতে বা ডিস্ক I/O কর্মক্ষমতা বাড়াতে ফিল্টার যোগ করুন। ইভেন্টগুলি ক্যাপচার করা হয়নি এমন ত্রুটির বার্তাগুলি পরীক্ষা করুন।
প্রশ্ন: আমি কীভাবে অচলাবস্থার তথ্য ক্যাপচার করব SQL Server প্রোফাইলার?
A: Locks বিভাগ থেকে Lock:Deadlock এবং Lock:Deadlock Chain ইভেন্টগুলি অন্তর্ভুক্ত করে এমন একটি ট্রেস তৈরি করুন। নিশ্চিত করুন যে TextData কলামটি নির্বাচন করা হয়েছে, কারণ এতে ডেডলক গ্রাফ XML রয়েছে। যখন কোনও ডেডলক দেখা দেয়, তখন TextData কলাম থেকে XML কপি করুন, এটি একটি .xdl এক্সটেনশন দিয়ে সংরক্ষণ করুন এবং এটি খুলুন SQL Server গ্রাফিক্যাল ডেডলক ডায়াগ্রাম দেখার জন্য ম্যানেজমেন্ট স্টুডিও।
প্রশ্ন: ফাইল বনাম টেবিলে ট্রেস সংরক্ষণের মধ্যে পার্থক্য কী?
A: ট্রেস এক্সিকিউশনের সময় ফাইলগুলি আরও ভালো পারফরম্যান্স প্রদান করে কারণ তারা বাইপাস করে SQL Server স্টোরেজ ইঞ্জিন। ফাইল ট্রেসগুলি ন্যূনতম ওভারহেডের সাথে সরাসরি ডিস্কে ডেটা লেখে। টেবিল ট্রেসগুলি স্টোরেজ ইঞ্জিনের মাধ্যমে লেখে, ওভারহেড যোগ করে কিন্তু ট্রেস ডেটার বিরুদ্ধে তাৎক্ষণিক T-SQL কোয়েরি সক্ষম করে। ক্যাপচারের সময় বা পরে যখন আপনাকে তাৎক্ষণিকভাবে ডেটা জিজ্ঞাসা করতে হবে তখন কর্মক্ষমতা-সংবেদনশীল পরিস্থিতি এবং টেবিলের জন্য ফাইলগুলি ব্যবহার করুন।
প্রশ্ন: আমি কি স্বয়ংক্রিয় করতে পারি? SQL Server প্রোফাইলার ট্রেস সংগ্রহ?
A: হ্যাঁ, T-SQL সঞ্চিত পদ্ধতি ব্যবহার করে তৈরি সার্ভার-সাইড ট্রেস ব্যবহার করে ট্রেস সংগ্রহ স্বয়ংক্রিয় করুন। sp_trace_create এবং সম্পর্কিত পদ্ধতি ব্যবহার করে স্ক্রিপ্ট লিখুন, তারপর সেগুলি সময়সূচী করুন। SQL Server এজেন্টের কাজ। এই পদ্ধতিটি নির্দিষ্ট সময়সূচীতে অযৌক্তিক ট্রেস সংগ্রহ সক্ষম করে। পাওয়ারশেল স্ক্রিপ্টগুলি আরও জটিল পরিস্থিতিতে আরেকটি অটোমেশন বিকল্প প্রদান করে।
প্রশ্ন: আমার কতক্ষণ ট্রেস চালানো উচিত?
উত্তর: ট্রেস সময়কাল আপনার উদ্দেশ্যের উপর নির্ভর করে। নির্দিষ্ট সমস্যা সমাধানের জন্য, সমস্যাটি পুনরুত্পাদন করার সময় ট্রেস চালান, সাধারণত 5-30 মিনিট। কর্মক্ষমতা বিশ্লেষণের জন্য, সর্বোচ্চ কার্যকলাপের সময়কালে কমপক্ষে এক ঘন্টা সময় ধরে সময় নিন। কাজের চাপ বিশ্লেষণ বা ক্ষমতা পরিকল্পনার জন্য, বিভিন্ন সময়কালে কয়েক ঘন্টা সময় সংগ্রহ করুন। পর্যবেক্ষণ সম্পূর্ণ হলে সর্বদা ট্রেস বন্ধ করুন যাতে সম্পদ মুক্ত হয়।
প্রশ্ন: আমার ট্রেস ফাইলটি খুব বড় হয়ে গেলে আমার কী করা উচিত?
A: একটি বৃহৎ ফাইলের পরিবর্তে একাধিক ছোট ফাইল তৈরি করতে ট্রেস প্রোপার্টিগুলিতে ফাইল রোলওভার সক্ষম করুন। আপনার ডিস্ক স্পেস এবং বিশ্লেষণের প্রয়োজন অনুসারে সর্বোচ্চ ফাইলের আকার নির্ধারণ করুন। ক্যাপচার করা ইভেন্ট ভলিউম কমাতে ফিল্টার ব্যবহার করুন। বড় ট্রেসের জন্য, একবারে সম্পূর্ণ ট্রেস লোড করার পরিবর্তে সেগমেন্টে ডেটা বিশ্লেষণ করার কথা বিবেচনা করুন। ডিস্ক স্পেস পরিচালনা করতে নিয়মিতভাবে পুরানো ট্রেস ফাইলগুলি সংরক্ষণাগারভুক্ত করুন বা মুছুন।
প্রশ্ন: উচ্চ CPU ব্যবহারের কারণ কী তা আমি কীভাবে খুঁজে পাব?
A: SQL:BatchCompleted এবং RPC:Completed ইভেন্ট দিয়ে একটি ট্রেস তৈরি করুন। CPU, Duration, এবং TextData কলাম অন্তর্ভুক্ত করুন। শুধুমাত্র 1000 মিলিসেকেন্ডের মতো থ্রেশহোল্ড অতিক্রমকারী কোয়েরিগুলি ক্যাপচার করার জন্য Duration অনুসারে ফিল্টার করুন। ডেটা সংগ্রহ করার পরে, CPU কলাম অনুসারে অবরোহী ক্রমে সাজান। উপরের কোয়েরিগুলি m ব্যবহার করে।ost প্রসেসরের সময়। অনুপস্থিত সূচক বা অদক্ষ যুক্তির মতো অপ্টিমাইজেশনের সুযোগগুলির জন্য এই প্রশ্নগুলি পরীক্ষা করুন।
প্রশ্ন: পারি SQL Server প্রোফাইলার ক্যাপচার কোয়েরি এক্সিকিউশন প্ল্যান?
A: SQL Server প্রোফাইলার পারফরম্যান্স বিভাগে Showplan XML ইভেন্টের মাধ্যমে এক্সিকিউশন প্ল্যান তথ্য ক্যাপচার করতে পারে। সম্পূর্ণ এক্সিকিউশন প্ল্যান ক্যাপচার করতে Showplan XML অথবা Showplan XML Statistics প্রোফাইল ইভেন্ট নির্বাচন করুন। TextData কলামে XML প্ল্যান ডেটা থাকে। তবে, রুটিন এক্সিকিউশন প্ল্যান বিশ্লেষণের জন্য, SQL Server ম্যানেজমেন্ট স্টুডিওর গ্রাফিক্যাল এক্সিকিউশন প্ল্যান বৈশিষ্ট্য বা কোয়েরি স্টোর সহজ বিকল্প প্রদান করে।
প্রশ্ন: ব্যবহারকারীর জন্য সবচেয়ে ভালো টেমপ্লেট কোনটি?tarসাধারণ পর্যবেক্ষণের জন্য?
A: স্ট্যান্ডার্ড টেমপ্লেটটি একটি ভালো s প্রদান করেtarসাধারণ পর্যবেক্ষণের জন্য টিং পয়েন্ট। এতে সাধারণ কোয়েরি এক্সিকিউশন ইভেন্ট, সঞ্চিত পদ্ধতি কল এবং ভারসাম্যপূর্ণ ওভারহেড সহ ত্রুটি ট্র্যাকিং অন্তর্ভুক্ত রয়েছে। কোয়েরি পারফরম্যান্সের উপর দৃষ্টি নিবদ্ধ করে নিম্ন-প্রভাব পর্যবেক্ষণের জন্য, TSQL টেমপ্লেট ব্যবহার করুন। ফিল্টার যোগ করে এবং মৌলিক বিষয়গুলি বোঝার পরে ইভেন্ট নির্বাচন সামঞ্জস্য করে আপনার নির্দিষ্ট চাহিদার উপর ভিত্তি করে টেমপ্লেটগুলি কাস্টমাইজ করুন।
প্রশ্ন: আমি কীভাবে শুধুমাত্র একটি নির্দিষ্ট অ্যাপ্লিকেশন বা ব্যবহারকারীর সন্ধান করব?
A: নির্দিষ্ট অ্যাপ্লিকেশন বা ব্যবহারকারীদের আলাদা করতে কলাম ফিল্টার ব্যবহার করুন। অ্যাপ্লিকেশনগুলির জন্য, আপনার সংযোগ স্ট্রিংয়ে নির্দিষ্ট নাম ব্যবহার করে ApplicationName কলাম অনুসারে ফিল্টার করুন। ব্যবহারকারীদের জন্য, LoginName কলাম অনুসারে ফিল্টার করুন SQL Server লগইন অথবা উইন্ডোজ অ্যাকাউন্টের নাম। ফোকাস আরও সংকুচিত করতে একাধিক ফিল্টার একত্রিত করুন, যেমন একটি নির্দিষ্ট ডাটাবেসে একটি অ্যাপ্লিকেশনের কার্যকলাপ পর্যবেক্ষণ করার জন্য অ্যাপ্লিকেশননাম এবং ডেটাবেসনাম উভয় দ্বারা ফিল্টার করা।
15. উপসংহার এবং পরবর্তী পদক্ষেপ
15.1 কী টেকওয়েস
SQL Server প্রোফাইলার এর অবচিত অবস্থা সত্ত্বেও অ্যাড-হক ডাটাবেস সমস্যা সমাধানের জন্য একটি মূল্যবান হাতিয়ার হিসেবে রয়ে গেছে। সহজবোধ্য ইন্টারফেস এবং ব্যাপক ইভেন্ট ক্যাপচার এটিকে দ্রুত নির্ণয়ের জন্য আদর্শ করে তোলে।ostযখন আপনার তাৎক্ষণিক ফলাফলের প্রয়োজন হয় তখন আইসি সেশনে যান। নির্দিষ্ট সমস্যা সমাধান, অ্যাপ্লিকেশন আচরণ বিশ্লেষণ এবং নিরাপত্তা নিরীক্ষণের জন্য প্রোফাইলার ব্যবহার করুন।
সর্বোত্তম অনুশীলনের মধ্যে রয়েছে পারফরম্যান্সের প্রভাব কমাতে আগ্রাসীভাবে ফিল্টার ব্যবহার করা, উৎপাদন পরিবেশের জন্য সার্ভার-সাইড ট্রেস পছন্দ করা এবং প্রয়োজনীয় সময়ের মধ্যে ট্রেস সময়কাল সীমাবদ্ধ করা। ওভারহেড কমাতে শুধুমাত্র প্রয়োজনীয় ইভেন্ট এবং কলাম নির্বাচন করুন। ক্যাপচারের সময় আরও ভাল পারফরম্যান্সের জন্য টেবিলের পরিবর্তে ফাইলগুলিতে ট্রেস সংরক্ষণ করুন।
১৫.২ এগিয়ে যাওয়া: আধুনিক সরঞ্জাম গ্রহণ
থেকে স্থানান্তর SQL Server দীর্ঘমেয়াদী পর্যবেক্ষণ সমাধানের জন্য প্রোফাইলার থেকে এক্সটেন্ডেড ইভেন্টস। প্রোফাইলার কার্যকর থাকা সত্ত্বেও, এক্সটেন্ডেড ইভেন্টস শেখার সময় বিনিয়োগ করা আপনাকে ভবিষ্যতের জন্য অবস্থান করে SQL Server সংস্করণ। এসtarসহজ এক্সটেন্ডেড ইভেন্ট সেশনের সাথে যা আপনার সাধারণ প্রোফাইলার ট্রেসগুলিকে প্রতিলিপি করে।
ম্যানুয়াল ট্রেস কনফিগারেশন ছাড়াই স্বয়ংক্রিয় কর্মক্ষমতা পর্যবেক্ষণ পেতে প্রোডাকশন ডাটাবেসে কোয়েরি স্টোর সক্ষম করুন। কোয়েরি স্টোর ক্রমাগত কোয়েরি পরিকল্পনা এবং কার্যকরকরণ পরিসংখ্যান ক্যাপচার করে, কর্মক্ষমতা বিশ্লেষণের জন্য বেসলাইন ডেটা সরবরাহ করে। কোয়েরি স্টোরকে এর সাথে একত্রিত করুন tarব্যাপক পর্যবেক্ষণের জন্য বর্ধিত ইভেন্ট সেশন গ্রহণ করা হয়েছে।
15.3 অতিরিক্ত সম্পদ
নিম্নলিখিত সম্পদগুলি আপনাকে আপনার SQL Server প্রোফাইলারদের জ্ঞান এবং পর্যবেক্ষণের সর্বোত্তম অনুশীলনের সাথে আপডেট থাকুন:
অফিসিয়াল মাইক্রোসফট ডকুমেন্টেশন
- SQL Server প্রোফাইলার ডকুমেন্টেশন - ইভেন্ট, কলাম এবং পদ্ধতির জন্য ব্যাপক রেফারেন্স
- SQL ট্রেস সিস্টেম সঞ্চিত পদ্ধতি - সার্ভার-সাইড ট্রেস তৈরির জন্য T-SQL রেফারেন্স
- বর্ধিত ইভেন্ট ডকুমেন্টেশন - অভিবাসন নির্দেশিকা এবং আধুনিক পর্যবেক্ষণ পদ্ধতি
- কোয়েরি স্টোর ডকুমেন্টেশন - স্বয়ংক্রিয় ক্যোয়ারী কর্মক্ষমতা ট্র্যাকিং রেফারেন্স
- কর্মক্ষমতা পর্যবেক্ষণ এবং টিউনিং সরঞ্জাম - সকলের সংক্ষিপ্ত বিবরণ SQL Server পর্যবেক্ষণ বিকল্প
কমিউনিটি রিসোর্স
- SQL Server সেন্ট্রাল - ডাটাবেস পেশাদারদের জন্য নিবন্ধ, ফোরাম এবং স্ক্রিপ্ট
- স্ট্যাক ওভারফ্লো SQL Server ট্যাগ – নির্দিষ্ট সমস্যা সমাধানের প্রশ্নের জন্য সম্প্রদায়ের প্রশ্নোত্তর
- Reddit r/SQLServer – আলোচনা ফোরাম SQL Server বিষয় এবং পরামর্শ
- SQLServerCentral.com ফোরাম - প্রোফাইলিং এবং কর্মক্ষমতা সম্পর্কে সক্রিয় সম্প্রদায় আলোচনা
- দুটিই MSDN SQL Server ফোরাম – মাইক্রোসফট-এইচostএড কমিউনিটি সাপোর্ট ফোরাম
ব্লগ এবং প্রযুক্তিগত প্রবন্ধ
- SQL Server কর্মক্ষমতা মনিটর - নিবেদিতপ্রাণ কর্মক্ষমতা পর্যবেক্ষণ এবং অপ্টিমাইজেশন সামগ্রী
- ব্রেন্ট ওজার আনলিমিটেড ব্লগ – পারফরম্যান্স টিউনিং এবং পর্যবেক্ষণের সর্বোত্তম অনুশীলন
- SQLSkills.com – বিশেষজ্ঞ-স্তরের SQL Server শিল্প নেতাদের কাছ থেকে প্রাপ্ত বিষয়বস্তু
- মাইক্রোসফট SQL Server ব্লগ – অফিসিয়াল পণ্য আপডেট এবং বৈশিষ্ট্য ঘোষণা
- সহজ কথা - ব্যবহারিক SQL Server টিউটোরিয়াল এবং কেস স্টাডি
প্রশিক্ষণ এবং শংসাপত্র
- মাইক্রোসফট শিখুন - বিনামূল্যে অনলাইন প্রশিক্ষণ মডিউল SQL Server
- মাইক্রোসফট সার্টিফাইড: অ্যাজুরে ডাটাবেস অ্যাডমিনিস্ট্রেটর অ্যাসোসিয়েট - অফিসিয়াল সার্টিফিকেশন পথ
- Pluralsight SQL Server কোর্স - প্রোফাইলিং এবং পারফরম্যান্স টিউনিং সম্পর্কিত ভিডিও প্রশিক্ষণ
- লিঙ্কডইন লার্নিং SQL Server প্রশিক্ষণ - পেশাদার উন্নয়ন কোর্স
- Udemy SQL Server পারফর্মেন্স কোর্স - ব্যবহারিক হাতে-কলমে প্রশিক্ষণের বিকল্প
বই
- SQL Server কোয়েরি পারফরম্যান্স টিউনিং - ব্যাপক পারফরম্যান্স অপ্টিমাইজেশন গাইড
- জন্য SQL Server অভ্যন্তরীণ বিষয় - গভীরভাবে অনুসন্ধান করুন SQL Server স্থাপত্য
- SQL Server এক্সিকিউশন প্ল্যান - কোয়েরি অপ্টিমাইজেশন বোঝা
- এক্সপার্ট পারফরম্যান্স ইনডেক্সিং এর জন্য SQL Server - সূচক নকশা এবং অপ্টিমাইজেশন
- SQL Server উন্নত সমস্যা সমাধান এবং কর্মক্ষমতা টিউনিং - উন্নত রোগ নির্ণয়ostআইসি কৌশল
সরঞ্জাম এবং উপযোগিতা
- SQL Server ম্যানেজমেন্ট স্টুডিও - এর জন্য প্রাথমিক ইন্টারফেস SQL Server প্রোফাইলার
- আজুর ডেটা স্টুডিও - আধুনিক ক্রস-প্ল্যাটফর্ম ডাটাবেস টুল
- sp_WhoIsActive – জনপ্রিয় কমিউনিটি-নির্মিত পর্যবেক্ষণ সঞ্চিত পদ্ধতি
- এসকিউএল সেন্ট্রি প্ল্যান এক্সপ্লোরার - বিনামূল্যে এক্সিকিউশন প্ল্যান বিশ্লেষণ টুল
- DBFঅর্গ স্টুডিও – তৃতীয় পক্ষ SQL Server উন্নয়ন এবং প্রশাসনিক হাতিয়ার
লেখক সম্পর্কে
ইউয়ান সেং একজন সিনিয়র ডাটাবেস অ্যাডমিনিস্ট্রেটর (DBA) যার ১০ বছরেরও বেশি অভিজ্ঞতা রয়েছে SQL Server পরিবেশ এবং এন্টারপ্রাইজ ডাটাবেস ব্যবস্থাপনা। তিনি আর্থিক পরিষেবা, স্বাস্থ্যসেবা এবং উৎপাদন সংস্থা জুড়ে শত শত ডাটাবেস পুনরুদ্ধারের পরিস্থিতি সফলভাবে সমাধান করেছেন।
ইউয়ান বিশেষজ্ঞ SQL Server ডাটাবেস পুনরুদ্ধার, উচ্চ প্রাপ্যতা সমাধান, এবং কর্মক্ষমতা অপ্টিমাইজেশন। তার ব্যাপক বাস্তব অভিজ্ঞতার মধ্যে রয়েছে মাল্টি-টেরাবাইট ডাটাবেস পরিচালনা, বাস্তবায়ন সর্বদা উপলভ্যতা গ্রুপগুলিতে, এবং মিশন-সমালোচনামূলক ব্যবসায়িক সিস্টেমের জন্য স্বয়ংক্রিয় ব্যাকআপ এবং পুনরুদ্ধার কৌশল তৈরি করা।
তার প্রযুক্তিগত দক্ষতা এবং ব্যবহারিক পদ্ধতির মাধ্যমে, ইউয়ান এমন ব্যাপক নির্দেশিকা তৈরির উপর মনোনিবেশ করেন যা ডাটাবেস প্রশাসক এবং আইটি পেশাদারদের জটিল সমাধানে সহায়তা করে SQL Server দক্ষতার সাথে চ্যালেঞ্জ জানাতে। তিনি সর্বশেষ খবরের সাথে আপডেট থাকেন SQL Server রিলিজ এবং মাইক্রোসফটের ক্রমবর্ধমান ডাটাবেস প্রযুক্তি, নিয়মিতভাবে পুনরুদ্ধারের পরিস্থিতি পরীক্ষা করে নিশ্চিত করে যে তার সুপারিশগুলি বাস্তব-বিশ্বের সেরা অনুশীলনগুলি প্রতিফলিত করে।
সম্পর্কে প্রশ্ন আছে SQL Server পুনরুদ্ধারের প্রয়োজন নাকি অতিরিক্ত ডাটাবেস সমস্যা সমাধানের নির্দেশিকা প্রয়োজন? ইউয়ান স্বাগত জানায়? প্রতিক্রিয়া এবং পরামর্শ এই প্রযুক্তিগত সম্পদ উন্নত করার জন্য।























