Index

使用 Ola 索引重新/組織/重建報告

  • June 3, 2018

有什麼方法可以在執行 IndexOptimize - USER_DATABASES 作業後生成報告。

我需要一份報告,告訴我哪些索引已被重建/重新組織。

   Select * from commandlog

我查看了上表,但我無法確定哪些索引實際上執行了重建/重新組織。即使表中記錄了一個命令,但由於頁面計數等不同原因,總是有少數表沒有重建/重組。

有沒有人有這樣的要求。任何人都可以與我分享任何腳本。

您可以在 Ola Hallengren 網站上找到這個問題的答案。他付出了很多努力,讓 DBA 的生活更輕鬆,並提供了很多參數,以便根據使用者的要求自定義和執行腳本。

SELECT DatabaseName, SchemaName, ObjectName, CASE WHEN ObjectType = 'U' THEN 'USER_TABLE' WHEN ObjectType = 'V' THEN 'VIEW' END AS ObjectType, IndexName, CASE WHEN IndexType = 1 THEN 'CLUSTERED' WHEN IndexType = 2 THEN 'NONCLUSTERED' WHEN IndexType = 3 THEN 'XML' WHEN IndexType = 4 THEN 'SPATIAL' END AS IndexType, PartitionNumber, ExtendedInfo.value('(ExtendedInfo/PageCount)[1]','int') AS [PageCount], ExtendedInfo.value('(ExtendedInfo/Fragmentation)[1]','float') AS Fragmentation, CommandType, Command, StartTime, EndTime, CASE WHEN DATEDIFF(ss,StartTime, EndTime)/(24*3600) > 0 THEN CAST(DATEDIFF(ss,StartTime, EndTime)/(24*3600) AS nvarchar) + '.' ELSE '' END + RIGHT(CONVERT(nvarchar,EndTime - StartTime,121),12) AS Duration, ErrorNumber, ErrorMessage FROM dbo.CommandLog WHERE CommandType = 'ALTER_INDEX' ORDER BY StartTime ASC

引用自:https://dba.stackexchange.com/questions/208629