আমি উইন্ডোজ পারফরম্যান্স কাউন্টারগুলির একটি নির্দিষ্ট সেট থেকে সরাসরি এসকিউএল সার্ভার টেবিলগুলিতে লগ করতে চাই। উইন্ডোজ কি কাস্টম অ্যাপ্লিকেশন না লিখে এটি করার কোনও উপায় সরবরাহ করে?
যদি তা হয় তবে তা করে কোনও গুরুতর সমস্যা আছে কি?
আমি উইন্ডোজ পারফরম্যান্স কাউন্টারগুলির একটি নির্দিষ্ট সেট থেকে সরাসরি এসকিউএল সার্ভার টেবিলগুলিতে লগ করতে চাই। উইন্ডোজ কি কাস্টম অ্যাপ্লিকেশন না লিখে এটি করার কোনও উপায় সরবরাহ করে?
যদি তা হয় তবে তা করে কোনও গুরুতর সমস্যা আছে কি?
উত্তর:
উইন্ডোজে কোনও এসকিউএল ডেটাবেজে পারফ্যাকার্টার লিখার কোনও অন্তর্নির্মিত উপায় নেই। আপনার অবশ্যই একটি সরঞ্জাম কোড করতে হবে যা এটি করে।
হ্যা এটা সম্ভব. এই নিবন্ধের উপর ভিত্তি করে একটি পুনরায় শুরু করুন ।
স্থানীয় মেশিনে সমস্ত কাউন্টারগুলি স্থানীয় ফোল্ডারে রফতানি করুন।
typeperf -q > counters.txt
রফতানি করা ফাইলটি সম্পাদনা করুন এবং আপনি যে কাউন্টারগুলি নমুনা করতে চান তা কেবল রেখে দিন। আমি নীচে দুটি রেখেছি:
\Processor(*)\% Processor Time
\Memory\Pages/sec
এখানে আপনি লগম্যান ব্যবহার করে বিশ্লেষণ করতে চান এমন ডেটা সংগ্রহ করবেন।
একটি সংগ্রহ তৈরি করুন।
logman create counter MyCollection -s %computername% -cf counters.txt
লগিং শুরু করুন
logman MyCollection start
একবার আপনি কোনও প্রতিনিধি নমুনা সংগ্রহ করে নিলে নির্বাচন বন্ধ করুন।
logman MyCollection stop
ভিস্তা এবং উইন্ডোজ 2008 সার্ভারে ডিফল্টরূপে, আপনার পারফরম্যান্স মনিটর কাউন্টারগুলি% সিস্টেমড্রাইভ% \ পারফেলোগস \ অ্যাডমিনে সংরক্ষণ করা হবে এবং আপনার সংগ্রহের নাম অনুসারে নামকরণ করা হবে (আমাদের ক্ষেত্রে তাদের মাই ক্লেকশন.বিএলজি বলা হবে সুতরাং, আপনাকে যেতে হবে এই ফোল্ডার
cd %systemdrive%\PerfLogs\Admin
একটি ওডিবিসি ডেটাসোর্স তৈরি করুন। সতর্কতা : এসকিউএল সার্ভার নেটিভ ক্লায়েন্ট সুগন্ধযুক্ত ব্যবহার করা যাবে না। পারফমন একটি উইন্ডোজ সরঞ্জাম যা কেবলমাত্র ডিএসএন-এর সাথে ব্যবহার করা যেতে পারে যা উইন্ডোজের সাথে অন্তর্ভুক্ত MDAC এসকিউএলডবিসি ড্রাইভার ব্যবহার করে।
আমি রিলগডিএসএন নামে একটি ওডিবিসি ডেটাসোর্স তৈরি করেছি। সার্ভারনাম হ'ল সার্ভারের নাম যা আমি ডেটা সংগ্রহ করেছি। এই নামটি এসকিউএল সার্ভারের টেবিল ডিসপ্লেটিওডিতে লেখা হবে যা তৈরি হয়েছিল এবং আমি যখন আমার কাউন্টারগুলি দেখতে চাই তখন আমি এটিতে প্রশ্ন করতে পারি।
relog MyCollection_000001.blg -f SQL -o SQL:relogDSN!ServerName
আপনার কাউন্টারগুলি কাউন্টারডেটেলস, কাউন্টারডেটা এবং ডিসপ্লেটিওআইডি টেবিলগুলিতে সংরক্ষণ করা হবে, উদাহরণ হিসাবে এখানে একটি এসকিউএল ক্যোয়ারী রয়েছে।
SELECT MachineName,
CONVERT(DATETIME, CONVERT(VARCHAR(16), CounterDateTime)) as [Date],
AVG(CounterValue) as Average,
MIN(CounterValue) as Minimum,
MAX(CounterValue) as Maximum
FROM CounterDetails
JOIN CounterData ON CounterData.CounterID = CounterDetails.CounterID
JOIN DisplayToID ON DisplayToID.GUID = CounterData.GUID
GROUP BY MachineName,
CONVERT(DATETIME, CONVERT(VARCHAR(16), CounterDateTime))