সঞ্চিত প্রক্রিয়া ব্যবহারের ট্র্যাকিং


19

এসকিউএল সার্ভার প্রোফাইলার ব্যবহার করার পাশাপাশি, কোন সঞ্চিত পদ্ধতি ব্যবহার করা হচ্ছে তা ট্র্যাক করার কোনও উপায় আছে, বা অন্তত শেষবার যখন তা কার্যকর করা হয়েছিল?


4
আপনি সবসময় পরিকল্পনার ক্যাশে দেখতে পারেন। এসকিউএল সার্ভার এই জিনিসগুলি চিরকালের জন্য ট্র্যাক করে না কারণ মেটাডেটা দ্রুত বড় এবং ব্যয়বহুল হয়ে যায়।
জেএনকে

উত্তর:


17

সঞ্চিত পদ্ধতি ব্যবহারের সম্পর্কে সুন্দর ধারণা পেতে আপনি পরিকল্পনার ক্যাশেটি দেখতে পারেন। উদাহরণস্বরূপ, এই জিজ্ঞাসাটি নিন:

select
    db_name(st.dbid) as database_name,
    object_name(st.objectid) as name,
    p.size_in_bytes / 1024 as size_in_kb,
    p.usecounts,
    st.text
from sys.dm_exec_cached_plans p
cross apply sys.dm_exec_sql_text(p.plan_handle) st
where p.objtype = 'proc'
and st.dbid = db_id('SomeDatabase')
order by p.usecounts desc

এটি আপনাকে usecountsসঞ্চিত প্রক্রিয়া সম্পর্কিত দেবে যা সম্পর্কিত SomeDB

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

প্ল্যান ক্যাশে সম্পর্কে বিওএল রেফারেন্স


4
রিমবার এটি কেবল আপনাকে বলে দেয় যে এসপিটি সম্প্রতি মোটামুটিভাবে চালিত হয়েছে এবং আপনাকে এখানে প্রোকস সম্পর্কে কোনও তথ্য দেয় না। ত্রৈমাসিক প্রতিবেদনের পিছনে প্রকসের মতো জিনিসগুলি খুব কমই চালিত হয় তবে ব্যবহৃত হয়। সুতরাং মূলত, এটি আপনাকে কেবল আপনার ডিবিতে আঘাত করে এমন অ্যাপ্লিকেশনগুলিতে গবেষণা করার জন্য একটি তালিকা দেয়।
এইচএলজিইএম

1
নিখুঁতভাবে এইচএলজিইএম আমি আমার উত্তরে সে বিষয়টি পরিষ্কার করার চেষ্টা করেছি।
টমাস স্ট্রিংগার

কোনও নির্দিষ্ট ডেটটাইম রেঞ্জের জন্য কি এটি করা সম্ভব? (যেমন শেষ দিন / মাস, ইত্যাদি)?
জোস পাররা

মনে রাখবেন যে এই কোয়েরিটি কোনও সঞ্চিত প্রক্রিয়াটির জন্য কোনও সারি ফেরত দেবে না যা পরিবর্তিত হয়েছে এবং পরে কার্যকর করা হয়নি।
এক্সেল 2 ডি

10

আপনি এটি দেখতে পারেন পাশাপাশি এতে last_execution_timeপ্রতিটি সঞ্চিত প্রক্রিয়া সম্পর্কিত তথ্য রয়েছে ।

    SELECT DB_NAME(database_id)
    ,OBJECT_NAME(object_id,database_id)
    ,cached_time
    ,last_execution_time
    ,execution_count
FROM sys.dm_exec_procedure_stats

এই থমথমে সতর্কতা আছে। এই পরিসংখ্যানগুলি কেবলমাত্র শেষ ডাটাবেস কার্যকর করার পরে রাখা হয়। আমি এমন একটি কাজ লিখতে ব্যস্ত যা এটি একবারে একটি টেবিলে সংরক্ষণাগারভুক্ত করবে।
আর্থ্লিং 42

@ আর্থলিং 42, আপনি কি এমন কোনও কাজ লিখেছেন যা এটি প্রতিদিন কোনও টেবিলে সংরক্ষণাগারভুক্ত করে?
অ্যালেক্স চুং

@ অ্যালেক্স চুং - দুর্ভাগ্যক্রমে কখনই এটির কাছাকাছি আসেনি। এই পোস্টের তারিখের অল্পসময় পরে এমএস-এসকিউএল প্রকল্পগুলিতে সরানো হয়েছে। কঠোরভাবে করা উচিত নয়? আপনি যদি আগ্রহী হন তবে আপনার সাথে এটি ব্যবহার করার চেষ্টা করে আমি খুশি হব।
আর্থ্লিং 42
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.