You've already forked ssms-addin
mirror of
https://github.com/alex-bochkov/ssms-addin.git
synced 2026-06-15 16:57:06 +02:00
add partition numbers
This commit is contained in:
@@ -1,13 +1,15 @@
|
||||
SELECT dbschemas.[name] as 'Schema',
|
||||
dbtables.[name] as 'Table',
|
||||
dbindexes.[name] as 'Index',
|
||||
--averaging this number across all partitions is not correct (page_count must bw accounted) but it is okay for my needs
|
||||
AVG(indexstats.avg_fragmentation_in_percent) AS avg_fragmentation_in_percent,
|
||||
SUM(indexstats.page_count) AS page_count,
|
||||
'ALTER INDEX ['+dbindexes.[name]+'] ON [' + dbschemas.name + '].['+dbtables.[name]+'] REORGANIZE;' AS CmdReorg,
|
||||
'ALTER INDEX ['+dbindexes.[name]+'] ON [' + dbschemas.name + '].['+dbtables.[name]+'] REBUILD ' +
|
||||
'WITH (ONLINE = ON (WAIT_AT_LOW_PRIORITY ( MAX_DURATION = 1 MINUTES, ABORT_AFTER_WAIT = SELF )), ' +
|
||||
'SORT_IN_TEMPDB = ON);' AS CmdRebuild
|
||||
indexstats.partition_number,
|
||||
FORMAT(AVG(indexstats.avg_fragmentation_in_percent), 'N2') AS avg_fragmentation_in_percent,
|
||||
FORMAT(SUM(indexstats.page_count), 'N0') AS page_count,
|
||||
'ALTER INDEX ['+dbindexes.[name]+'] ON [' + dbschemas.name + '].['+dbtables.[name]+'] REORGANIZE PARTITION = '
|
||||
+ CAST(indexstats.partition_number AS VARCHAR(3)) + ';' AS CmdReorg,
|
||||
'ALTER INDEX ['+dbindexes.[name]+'] ON [' + dbschemas.name + '].['+dbtables.[name]+'] REBUILD PARTITION = '
|
||||
+ CAST(indexstats.partition_number AS VARCHAR(3))
|
||||
+ 'WITH (ONLINE = ON (WAIT_AT_LOW_PRIORITY ( MAX_DURATION = 1 MINUTES, ABORT_AFTER_WAIT = SELF )), '
|
||||
+ 'SORT_IN_TEMPDB = ON);' AS CmdRebuild
|
||||
FROM sys.dm_db_index_physical_stats (DB_ID(), NULL, NULL, NULL, NULL) AS indexstats
|
||||
INNER JOIN sys.tables dbtables on dbtables.[object_id] = indexstats.[object_id]
|
||||
INNER JOIN sys.schemas dbschemas on dbtables.[schema_id] = dbschemas.[schema_id]
|
||||
@@ -18,5 +20,6 @@ WHERE indexstats.database_id = DB_ID()
|
||||
AND dbindexes.[name] IS NOT NULL
|
||||
GROUP BY dbschemas.[name],
|
||||
dbtables.[name],
|
||||
dbindexes.[name]
|
||||
dbindexes.[name],
|
||||
indexstats.partition_number
|
||||
ORDER BY avg_fragmentation_in_percent DESC
|
||||
|
||||
Reference in New Issue
Block a user