Solved

Command to check last time stored proc was recompiled

Posted on 2007-11-14
9
462 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
Best Practices: Disaster Recovery Testing

Besides backup, any IT division should have a disaster recovery plan. You will find a few tips below relating to the development of such a plan and to what issues one should pay special attention in the course of backup planning.

 
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
 
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

Free learning courses: Active Directory Deep Dive

Get a firm grasp on your IT environment when you learn Active Directory best practices with Veeam! Watch all, or choose any amount, of this three-part webinar series to improve your skills. From the basics to virtualization and backup, we got you covered.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

The Delta outage: 650 cancelled flights, more than 1200 delayed flights, thousands of frustrated customers, tens of millions of dollars in damages – plus untold reputational damage to one of the world’s most trusted airlines. All due to a catastroph…
For both online and offline retail, the cross-channel business is the most recent pattern in the B2C trade space.
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 set up a backup for SQL Server using a Maintenance Plan and how to schedule the job into SQL Server Agent.

808 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