Solved

Command to check last time stored proc was recompiled

Posted on 2007-11-14
9
456 Views
Last Modified: 2008-02-01
I was asked this question today...what's the command to check the date of the last time a stored proc was recompiled. I thought it was sp_recompile. It's not..

Is there a command?
0
Comment
Question by:Camillia
  • 3
  • 2
  • 2
  • +1
9 Comments
 
LVL 25

Accepted Solution

by:
imitchie earned 300 total points
ID: 20285593
dbcc freeproccache
will clear the cache so that everything is recompiled again. unless you are using many complicated queries, the performance hit is not noticeable.

sp's are recompiled if they are not in the proc cache, so if you like, the last compile time is when it entered the cache

the proc cache is clean on a sql server restart. other than   dbcc proccache   telling you some stats about it, I don't think there are other ways of getting exactly what's in there, not to mention whether a specific sp is in there and when.
0
 
LVL 7

Author Comment

by:Camillia
ID: 20285633
just ran dbcc proccache. Doesnt say much.

I guess our client needs to clear the cache.
0
 
LVL 12

Assisted Solution

by:kselvia
kselvia earned 100 total points
ID: 20286926
There may be better ways, but on SQL 2005 you can run

select top 10 *
from sys.dm_exec_query_stats

creation_time will contain when the query plan was created (i.e. first executed since restart/cache clear)

That won't show you what the query was though.  You can adapt this for that. If you are all SQL 2005 I'll script it out if you like. (I don't have it written up but I'll do it if you need it)

create table #t (id int identity(1,1), sqlcmd text)

-- Top 10 highest logical IO. Remove TOP to get all queries on the system
select top 10 sql_handle
into #x
from sys.dm_exec_query_stats
order by total_logical_reads , total_logical_writes

select 'insert #t select text from sys.dm_exec_sql_text(', t.sql_handle, ')'
FROM #x t
order by id

Execute output from command above to see highest 10 IO queries.

0
 
LVL 75

Assisted Solution

by:Aneesh Retnakaran
Aneesh Retnakaran earned 100 total points
ID: 20287147
In sql server 2005,  this will do
SELECT  DB_NAME(dbid) AS DatabaseName

       ,OBJECT_NAME(ObjectID) AS ObjectName

       ,der.creation_time

       ,der.Last_execution_time

       ,Text

FROM    sys.dm_exec_query_stats as der

CROSS APPLY sys.dm_exec_sql_text(der.sql_handle) as dest

Open in new window

0
What Should I Do With This Threat Intelligence?

Are you wondering if you actually need threat intelligence? The answer is yes. We explain the basics for creating useful threat intelligence.

 
LVL 12

Expert Comment

by:kselvia
ID: 20287161
Cool. I had tried CROSS APPLY and was getting some error. Forget what it was now. Thought it was a limit of sys.dm_exec_sql_text()
0
 
LVL 75

Expert Comment

by:Aneesh Retnakaran
ID: 20287166
:)
0
 
LVL 25

Expert Comment

by:imitchie
ID: 20287217
cool bananas... sql 2005 is so much better
0
 
LVL 7

Author Comment

by:Camillia
ID: 20288349
it's sql 2000 but they use sql2005 management to look at sql2000. They dont use enterprise manager.
0
 
LVL 25

Expert Comment

by:imitchie
ID: 20288436
i guessed that from your other questions
0

Featured Post

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

Join & Write a Comment

In this article—a derivative of my DaytaBase.org blog post (http://daytabase.org/2011/06/18/what-week-is-it/)—I will explore a few different perspectives on which week today's date falls within using Microsoft SQL Server. First, to frame this stu…
When you hear the word proxy, you may become apprehensive. This article will help you to understand Proxy and when it is useful. Let's talk Proxy for SQL Server. (Not in terms of Internet access.) Typically, you'll run into this type of problem w…
Familiarize people with the process of retrieving data from SQL Server using an Access pass-thru query. Microsoft Access is a very powerful client/server development tool. One of the ways that you can retrieve data from a SQL Server is by using a pa…
Via a live example, show how to setup several different housekeeping processes for a SQL Server.

758 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

18 Experts available now in Live!

Get 1:1 Help Now