|
4 | 4 | +---------------------------------------------------------------------------------------*/
|
5 | 5 |
|
6 | 6 | SELECT
|
7 |
| - 'Schema' = dbschemas.[name] |
8 |
| - , 'Table' = dbtables.[name] |
9 |
| - , 'Index' = dbindexes.[name] |
10 |
| - , indexstats.avg_fragmentation_in_percent |
11 |
| - , indexstats.page_count |
12 |
| - , SqlScript = |
| 7 | + [Schema] = dbschemas.[name] |
| 8 | + , [Table] = dbtables.[name] |
| 9 | + , [Index] = dbindexes.[name] |
| 10 | + , indexstats.[avg_fragmentation_in_percent] |
| 11 | + , indexstats.[page_count] |
| 12 | + , [SqlScript] = |
13 | 13 | CASE
|
14 |
| - WHEN indexstats.avg_fragmentation_in_percent > 30 THEN 'ALTER INDEX [' + dbindexes.[name] + '] ON [' + dbschemas.[name] + '].[' + dbtables.[name] + '] REBUILD WITH (ONLINE = ON)' |
15 |
| - WHEN indexstats.avg_fragmentation_in_percent > 5 AND indexstats.avg_fragmentation_in_percent < 30 THEN 'ALTER INDEX [' + dbindexes.[name] + '] ON [' + dbschemas.[name] + '].[' + dbtables.[name] + '] REORGANIZE' |
| 14 | + WHEN indexstats.[avg_fragmentation_in_percent] > 30 THEN 'ALTER INDEX [' + dbindexes.[name] + '] ON [' + dbschemas.[name] + '].[' + dbtables.[name] + '] REBUILD WITH (ONLINE = ON)' |
| 15 | + WHEN indexstats.[avg_fragmentation_in_percent] > 5 AND indexstats.[avg_fragmentation_in_percent] < 30 THEN 'ALTER INDEX [' + dbindexes.[name] + '] ON [' + dbschemas.[name] + '].[' + dbtables.[name] + '] REORGANIZE' |
16 | 16 | ELSE NULL
|
17 | 17 | END
|
18 | 18 | FROM
|
19 |
| - sys.dm_db_index_physical_stats (DB_ID(), NULL, NULL, NULL, NULL) AS indexstats |
20 |
| - INNER JOIN sys.tables dbtables on dbtables.[object_id] = indexstats.[object_id] |
21 |
| - INNER JOIN sys.schemas dbschemas on dbtables.[schema_id] = dbschemas.[schema_id] |
22 |
| - INNER JOIN sys.indexes AS dbindexes ON dbindexes.[object_id] = indexstats.[object_id] AND indexstats.index_id = dbindexes.index_id |
| 19 | + [sys].[dm_db_index_physical_stats] (DB_ID(), NULL, NULL, NULL, NULL) AS indexstats |
| 20 | + INNER JOIN [sys].[tables] AS dbtables ON dbtables.[object_id] = indexstats.[object_id] |
| 21 | + INNER JOIN [sys].[schemas] AS dbschemas ON dbtables.[schema_id] = dbschemas.[schema_id] |
| 22 | + INNER JOIN [sys].[indexes] AS dbindexes ON dbindexes.[object_id] = indexstats.[object_id] AND indexstats.index_id = dbindexes.index_id |
23 | 23 | WHERE
|
24 | 24 | 1=1
|
25 |
| - AND indexstats.database_id = DB_ID() |
| 25 | + AND indexstats.[database_id] = DB_ID() |
26 | 26 | AND dbindexes.[name] IS NOT NULL
|
27 | 27 | --AND dbindexes.[name] = 'IX_IndexName'
|
28 | 28 | ORDER BY
|
29 |
| - indexstats.avg_fragmentation_in_percent desc |
| 29 | + indexstats.[avg_fragmentation_in_percent] DESC |
0 commit comments