SQL Server Profiler का उपयोग करने के अलावा, क्या कोई तरीका है जो संग्रहीत प्रक्रियाओं का उपयोग किया जा रहा है, या कम से कम जब वे आखिरी बार निष्पादित किए गए थे, तो क्या इसका कोई तरीका है?
SQL Server Profiler का उपयोग करने के अलावा, क्या कोई तरीका है जो संग्रहीत प्रक्रियाओं का उपयोग किया जा रहा है, या कम से कम जब वे आखिरी बार निष्पादित किए गए थे, तो क्या इसका कोई तरीका है?
जवाबों:
आप स्टोर किए गए प्रक्रिया उपयोग का एक बहुत अच्छा विचार प्राप्त करने के लिए योजना कैश में देख सकते हैं। उदाहरण के लिए, यह प्रश्न लें:
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
।
नोट: प्लान कैश में निष्पादन योजनाएं होती हैं। इन योजनाओं के इस अवधारण में कई कारक शामिल हैं। जबकि इससे आपको यह पता चल जाएगा कि क्या उपयोग किया जा रहा है और कितनी बार, यह निश्चित रूप से चल रही कुल प्रक्रियाओं का नहीं है और कितनी बार / जब उन्हें निष्पादित किया गया।
आप इसे देख सकते हैं और साथ ही इसमें 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