W jaki sposób sprawdzić, kiedy indeks był ostatnio przebudowany?
W jaki sposób sprawdzić, kiedy indeks był ostatnio przebudowany?
SQL Server nie udostępnia informacji związanej z datą i czasem ostatniej operacji przebudowy indeksu. Przy założeniu, że przebudowa indeksu powoduje aktualizację statystyki związanej z indeksem oraz że data i czas aktualizacji tej statystyki wskazuje na datę i czas przebudowy indeksu, możemy potrzebną informację uzyskać za pomocą funkcji STATS_DATE oraz widoku katalogowego sys.stats:
SELECT Name, STATS_DATE(object_id, stats_id) AS LastUpdated FROM sys.stats WHERE object_id = OBJECT_ID('Production.Product')
Alternatywne rozwiązanie to skorzystanie z dynamicznej funkcji zarządzania sys.dm_db_stats_properties oraz pola last_updated. Rozwiązanie to wymaga SP2 do SQL Server 2008 R2 lub SP1 do SQL Server 2012.
Dokumentacja funkcji:
https://technet.microsoft.com/en-us/library/jj553546%28v=sql.110%29.aspx