Minion.IndexTableFrag
Holds index fragmentation information on a short-term basis, to be used by the currently-running index maintenance process. Minion.IndexTableFrag also holds fragmentation data for prepped operations (created with Minion.IndexMaintMaster with @PrepOnly = 1). PrepOnly data is marked with Prepped = 1 in this table, so Minion Reindex knows the difference between a current process and a prepped process.
For more information on these columns, see Minion.IndexMaintDB, Minion.IndexMaintTable, and/or the MSDN article on sys.dm_db_index_physical_stats at http://msdn.microsoft.com/en-us/library/ms188917.aspx
Name | Type | Description |
ExecutionDateTime | Datetime | The execution date and time, common to the entire run of a database index maintenance event. |
DBName | varchar | Database name. |
DBID | int | Database ID. |
TableID | bigint | Table ID. |
SchemaName | varchar | Schema name. |
TableName | varchar | Table name. |
IndexName | varchar | Index name. |
IndexID | bigint | Index ID. |
IndexType | tinyint | Index type number, e.g. 0 = HEAP, etc. See http://msdn.microsoft.com/en-us/library/ms173760.aspx |
IndexTypeDesc | nvarchar | Description of index type, e.g. HEAP, CLUSTERED, NONCLUSTERED, etc. See http://msdn.microsoft.com/en-us/library/ms173760.aspx |
IsDisabled | bit | See http://msdn.microsoft.com/en-us/library/ms173760.aspx |
IsHypothetical | bit | See http://msdn.microsoft.com/en-us/library/ms173760.aspx |
avg_fragmentation_in_percent | float | See http://msdn.microsoft.com/en-us/library/ms188917.aspx |
ReorgThreshold | tinyint | The percentage threshold at which Index Maintenance should reorganize an index. For example, if ReorgThreshold is set to 10 and the RebuildThreshold is 20, then a reorg will be done for all indexes between 10 and 19. And a rebuild will be done for all indexes 20 and above. |
RebuildThreshold | Tinyint | The percentage threshold at which Index Maintenance should rebuild an index. For example, if ReorgThreshold is set to 10 and the RebuildThreshold is 20, then a reorg will be done for all indexes between 10 and 19. And a rebuild will be done for all indexes 20 and above. |
FillFactorOpt | tinyint | Specify how full a reindex maintenance should make each page when it rebuilds an index. For example, a value of 85 would leave each data page 85% full of data. A value of NULL indicates that reindexing should use the current index setting (viewable for that index in sys.indexes). |
PadIndex | varchar | Turn PAD_INDEX on or off. Valid inputs: ON OFF A value of NULL indicates that reindexing should use the current index setting (viewable for that index in sys.indexes). |
OnlineOpt | varchar | Perform ONLINE index maintenance for indexes in this database. Valid inputs: ON OFF NULL A value of NULL indicates that reindexing should use the system setting (in this case, “OFF”, meaning the index maintenance will be done offline). Note that ONLINE index operations may not be possible for certain editions of SQL Server, and only for indexes that are eligible for ONLINE index operations. If you specify ONLINE when it is not possible, the routine will change it to OFFLINE. |
SortInTempDB | varchar | Direct index maintenance to use TempDB to store the intermediate sort results that are used to build the index. Valid inputs: ON OFF NULL A value of NULL indicates that reindexing should use the system setting (in this case, “OFF”). |
MAXDOPopt | tinyint | Specify the max degree of parallelism (“MAXDOP”, the number of CPUs to use) for the index maintenance operations. If specified, this overrides the MAXDOP configuration option for the duration of the index operation. |
DataCompression | varchar | The data compression option. The options are as follows: Valid inputs: NONE ROW PAGE COLUMNSTORE COLUMNSTORE_ARCHIVE A NULL value here would indicate DataCompression=’NONE’. |
GetRowCT | bit | Get a rowcount for each table. |
GetPostFragLevel | bit | Get the fragmentation level for each index, after the index maintenance operations are complete. This is done on a per index basis as soon as the reindex operation is complete for each index. |
UpdateStatsOnDefrag | bit | Update statistics after defragmenting. This should always be on, but Minion provides the option just in case your stats are handled in some other way. |
StatScanOption | varchar | Options available for the UPDATE STATISTICS statement (that is, anything that would go in the “WITH” statement). Valid inputs include any of the following options, as a comma-delimited list: FULLSCAN SAMPLE … RESAMPLE ON PARTITIONS ... STATS_STREAM ROWCOUNT PAGECOUNT For example, StatScanOption could be set to “SAMPLE 50 PERCENT”, or “FULLSCAN, NORECOMPUTE”. |
IgnoreDupKey | varchar | Change the option so that for this index, inserts that add (normally illegal) duplicates generate a warning instead of an error. Applies to inserts that occur any time after the index operation. The default is OFF. Valid inputs: ON OFF |
StatsNoRecompute | Varchar | Disable the automatic statistics update option, AUTO_UPDATE_STATISTICS. Valid inputs: ON OFF |
AllowRowLocks | varchar | See http://msdn.microsoft.com/en-us/library/ms188388.aspx |
AllowPageLocks | varchar | See http://msdn.microsoft.com/en-us/library/ms188388.aspx |
WaitAtLowPriority | bit | See http://msdn.microsoft.com/en-us/library/ms188388.aspx |
MaxDurationInMins | int | See http://msdn.microsoft.com/en-us/library/ms188388.aspx |
AbortAfterWait | varchar | See http://msdn.microsoft.com/en-us/library/ms188388.aspx |
LogProgress | Bit | Track the progress of index operations for this database. The overall status is tracked in the Minion.IndexMaintLog table, while specific operations are tracked in the Status column Minion.IndexMaintLogDetails. |
LogRetDays | smallint | Number of days to retain index maintenance log data, for this table. Just like any setting, if a table-specific row exists (in Minion.IndexSettingTable), those settings take precedence over database level settings. That is, if DB1.Table1 has an entry for LogRetDays=50, and DB1 has an entry for LogRetDays=40, the log will keep 50 days for DB1.Table1. When first implemented, Minion Reindex defaults to 60 days of log retention. |
PushToMinion | Bit | Save these values to the central Minion server, if it exists. Modifies values for this particular table on the central Minion server. A value of NULL indicates that this feature is off. Functionality not yet supported. |
LogIndexPhysicalStats | bit | Save the current index physical stats to a table (Minion.IndexPhysicalStats). |
IndexScanMode | varchar | Valid inputs: Detailed Limited NULL A value of NULL indicates that reindexing should use the default (in this case, “LIMITED”). |
TablePreCode | nvarchar | Code to run for a table, before the index maintenance operations begin for that table. For more on this topic, see “How To: Run code before or after index maintenance”. |
TablePostCode | nvarchar | Code to run for a table, after the index maintenance operations complete for that table. For more on this topic, see “How To: Run code before or after index maintenance”. |
Prepped | bit | If Prepped=1, this data was entered into the table as a result of running the Minion.IndexMaintMaster stored procedure with @PrepOnly = 1. It is then necessary to run the reindexing routine with @RunPrepped = 1 to use this data. For more on this topic, see “How To: Gather index fragmentation statistics on a different schedule from the reindex routine”. NOTE: There can only be one set of prepared data per database at any given time. When you run @PrepOnly = 1, it enters the data into this table, and deletes any previous prep runs for the database in question. So while you can have as many databases as you like prepped in this table, each database can only have a single prep run. |
GroupOrder | Int | Group to which this database belongs. Used solely for determining the order in which databases should be processed for index maintenance. By default, all tables have a value of 0, which means they’ll be processes in the order they’re queried from sysobjects. Higher numbers have a greater “weight” (they have a higher priority), and will be indexed earlier than lower numbers. The range of ReindexGroupOrder weight numbers is 0-255. For more information, see “How To: Reindex databases in a specific order”. |
ReindexOrder | Int | The index maintenance order within a group. Used solely for determining the order in which databases should be processed for index maintenance. By default, all tables have a value of 0, which means they’ll be processes in the order they’re queried from sysobjects. Higher numbers have a greater “weight” (they have a higher priority), and will be indexed earlier than lower numbers. We recommend leaving some space between assigned reindex order numbers (e.g., 10, 20, 30) so there is room to move or insert rows in the ordering. For more information, see “How To: Reindex databases in a specific order”. |
StmtPrefix | nvarchar | The code that will prefix every reindex statement with a statement of your own. For more information, see “How To: Run code before or after index maintenance” |
StmtSuffix | nvarchar | The code that will suffix every reindex statement with a statement of your own. For more information, see “How To: Run code before or after index maintenance” |