Database Administrators Stack Exchange is a question and answer site for database professionals who wish to improve their database skills and learn from others in the community. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

In SQL Server 2005 and above, how can I find when an index was created?

share|improve this question
up vote 6 down vote accepted

My answer is a direct quote of this link:

There is no direct way of finding the creation date of an index. But however if you look in sysobjects there is a creation date for Primary Key or Unique Constraints.Indexes associated with primary Primary Key or Unique Constraints creation date can be known.

check if there are any new DMVs (Dynamic Mgmt Views) in sql server 2008 which can help you in getting creationDate.

try this query

select crdate,, object_name(
from sysindexes i
   join sysobjects o ON =
order by crdate desc
share|improve this answer
I originally posted sys.objects but then I thought about it more and realized that wouldn't work. Indexes aren't in there only constraints created by indexes. Found this link that might help explain. – RThomas May 13 '11 at 1:39
Thank you very much – Manjot May 13 '11 at 1:41
If it isn't too much trouble, please could you summarise the contents of the link in the body of your answer? Thanks :) – Jack Douglas Dec 24 '11 at 17:59
Wow, ... usually I'm not that lazy. No problem - answer has been updated. – RThomas Dec 24 '11 at 20:19

There is no way to know a single creation date of an index because it is not saved or collected by SQL Server.

share|improve this answer
Answer not wrong but @Alejandro, does it provide anything that the other - 2 years old - answer does not? – ypercubeᵀᴹ Sep 9 '13 at 23:31

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.