程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> 查詢SQL Server Index上次Rebuild時間的方法

查詢SQL Server Index上次Rebuild時間的方法

編輯:關於SqlServer

朋友有一個Rebuild Index的Job執行一般停掉了,問我是否可以查看哪些Index已經被Rebuild過了。本來以為Sys.index或者Sys.objects會存儲類似的信息,結果沒有找到。
 
從網上查了一下,SQL Server沒有存儲類似的信息。但是因為Rebuild Index會自動更新統計信息,而統計信息的更新時間是可以獲得的。所以我們可以大致根據統計信息的時間來估計。
因為統計信息的更新也有可能是達到更新的閥值所做的更新,所以不是非常的准確。
 
具體的腳本如下:

SELECT OBJECT_NAME(object_id) [TableName],
    name [IndexName],
    STATS_DATE(object_id, stats_id)[LastStatsUpdate]
FROM sys.stats
WHERE name NOT LIKE '_WA%'--
AND STATS_DATE(object_id, stats_id)IS NOT NULL
AND OBJECTPROPERTY(object_id,'IsMSShipped') = 0 --查詢用戶自定義的
ORDER BY TableName, IndexName
 
-----代碼來自於:http://stackoverflow.com/questions/2831293/tsql-know-when-index-rebuild-reorg-or-updatestatistics-was-last-run-on-sql-ser

 可以根據自己的增加條件篩選。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved