2013-01-22 74 views
3

SQL Server 2008 R2中有沒有一種方法可以確定何時通過TSQL創建索引? sys.indexes表沒有任何日期字段。謝謝。TSQL查詢索引按日期確定何時創建?

+4

http://dba.stackexchange.com/questions/2707/sql-server-索引創建日期 – AakashM

+0

謝謝。這基本上說「你不能這樣做」,但我希望有人可能找到另一種方法來解決它,即使它不是按日期,如果你能看到最後創建的10個或類似的東西。 – Shane

回答

1

您可以將它加入sys.objects,它有一個create_date字段。

SELECT TOP 10 
     * 
FROM <yourdb>.sys.indexes i 
     INNER JOIN <yourdb>.sys.objects o ON i.object_id = o.object_id 
WHERE o.type NOT IN ('S', 'IT') 
ORDER BY create_date DESC 

重新編輯編輯:我不應該嘗試之前我已經有我的早晨咖啡溝通。

與鏈接鏈接相同的注意事項適用,因爲它們實際上不是索引的創建日期,而是相關的對象。

如果是這樣,你需要能夠做一些事情,你可以登錄DDL語句:

http://madhuottapalam.blogspot.ca/2008/06/faq-how-to-find-index-creation-rebuild.html

+1

雖然這可能對提問者有用,但應該指出,這些日期將是**表**的創建日期,而不是索引。 – AakashM

+0

事實上,我正處於編輯中,以表示同樣的內容。 –

+0

是的,我做了研究並找到了測井示例。我想答案很簡單,SQL Server不會跟蹤創建索引時的日期/時間。這是共識嗎? – Shane