Repository navigation
The procedure dbo.IndexOptimize ignored the index exclusion and performed the rebuild anyway. #1053
|
@olahallengren Are we doing something wrong or is there a bug in the procedure? The procedure version was version 16/06/2026 06:09:
Version used for the problem description
--
SchemaName | ObjectName | Version | Checksum
dbo | CommandExecute | 16/06/2026 06:09 | -955056784
dbo | DatabaseBackup | 16/06/2026 06:09 | -1670990434
dbo | DatabaseIntegrityCheck | 16/06/2026 06:09 | -371602471
dbo | IndexOptimize | 16/06/2026 06:09 | -714922132
The case is as follows: I have 4 jobs for rebuilding the indexes:
EXEC [dbo].[IndexOptimize] @databases='USER_DATABASES, -DB1, -DBxpto', @FragmentationMedium = 'INDEX_REBUILD_ONLINE,INDEX_REBUILD_OFFLINE', @FragmentationHigh='INDEX_REBUILD_ONLINE,INDEX_REBUILD_OFFLINE', @FragmentationLevel1 = 5, @FragmentationLevel2 = 15, @SortInTempdb = 'Y', @Maxdop = 4, @FillFactor=95, @UpdateStatistics = 'ALL', @StatisticsModificationLevel = 5, @LOBCompaction='Y', @DatabaseOrder='DATABASE_SIZE_ASC', @Timelimit = '7200', @LogToTable = 'Y', @execute = 'Y' NOTE: This job runs every Monday, Wednesday, and Friday at 8:20 PM and every Sunday at 4:00 AM
EXEC [dbo].[IndexOptimize] @databases='DB1', @FragmentationMedium = 'INDEX_REBUILD_ONLINE,INDEX_REBUILD_OFFLINE', @FragmentationHigh='INDEX_REBUILD_ONLINE,INDEX_REBUILD_OFFLINE', @FragmentationLevel1 = 15, @FragmentationLevel2 = 30, @SortInTempdb = 'Y', @Maxdop = 4, @indexes='ALL_INDEXES,-PRD-R2-ECHOR2.dbo.OSUSR_5YK_REQUESTEDTOKEN', @FillFactor=95, @UpdateStatistics = 'ALL', @StatisticsModificationLevel = 5, @LOBCompaction='Y', @DatabaseOrder='DATABASE_SIZE_ASC', @Timelimit = '7200', @LogToTable = 'Y', @execute = 'Y' NOTE: This job runs every Monday, Wednesday, and Friday at 8:00 PM and every Sunday at 6:30 AM.
EXEC [dbo].[IndexOptimize] @databases='DBxpto', @FragmentationMedium = 'INDEX_REBUILD_ONLINE,INDEX_REBUILD_OFFLINE', @FragmentationHigh='INDEX_REBUILD_ONLINE,INDEX_REBUILD_OFFLINE', @FragmentationLevel1 = 15, @FragmentationLevel2 = 30, @SortInTempdb = 'Y', @Maxdop = 4, @indexes='ALL_INDEXES,-[dbo].[OSUSR_BYA_RECORDCHANGELOGRECORDS].[OSPRK_OSUSR_BYA_RECORDCHANGELOGRE CORDS],-[dbo].[OSUSR_BYA_RECORDCHANGELOG].[OSPRK_OSUSR_BYA_RECORDCHANGELOG],-[dbo].[OSUSR_BYA_MESS AGELOGDETAILSBINARY].[OSPRK_OSUSR_BYA_MESSAGELOGDETAILSBINARY],-[dbo].[OSPRK_OSUSR_BYA_MESSAGELOG],-[dbo].[OSUSR_BYA_MESSAGELOGDETAILS].[OSPRK_OSUSR_BYA_MESSAGELOGDETAILS]', @FillFactor=95, @UpdateStatistics = 'ALL', @StatisticsModificationLevel = 5, @LOBCompaction='Y', @DatabaseOrder='DATABASE_SIZE_ASC', @Timelimit = '7200', @LogToTable = 'Y', @execute = 'Y' NOTE: This job runs every Monday, Wednesday and Friday at 04:00 AM
EXEC [dbo].[IndexOptimize] @databases='DBxpto', @FragmentationMedium = 'INDEX_REBUILD_ONLINE,INDEX_REBUILD_OFFLINE', @FragmentationHigh='INDEX_REBUILD_ONLINE,INDEX_REBUILD_OFFLINE', @FragmentationLevel1 = 15, @FragmentationLevel2 = 30, @SortInTempdb = 'Y', @Maxdop = 4, @indexes='[dbo].[OSUSR_BYA_RECORDCHANGELOGRECORDS].[OSPRK_OSUSR_BYA_RECORDCHANGELOGRECORDS],[dbo].[OSUSR_BYA_RECORDCHANGELOG].[OSPRK_OSUSR_BYA_RECORDCHANGELOG],[dbo].[OSUSR_BYA_MESSAGELOG] DETAILSBINARY].[OSPRK_OSUSR_BYA_MESSAGELOGDETAILSBINARY],[dbo].[OSPRK_OSUSR_BYA_MESSAGELOG],[dbo].[OSUSR_BYA_MESSAGELOGDETAILS].[OSPRK_OSUSR_BYA_MESSAGELOGDETAILS]', @FillFactor=95, @UpdateStatistics = 'ALL', @StatisticsModificationLevel = 5, @LOBCompaction='Y', @DatabaseOrder='DATABASE_SIZE_ASC', @Timelimit = '14400', @LogToTable = 'Y', @execute = 'Y' NOTE: This job runs every Saturday at 7:00 PM. The problem is here; the index was deleted in job 3, and the rebuild of this index caused an impact. Log of the dbo.CommandLog table below:
ID | DatabaseName | SchemaName | ObjectName | ObjectType | IndexName | IndexType | StatisticsName | PartitionNumber | ExtendedInfo | Command | CommandType | StartTime | EndTime | ErrorNumber | ErrorMessage
-- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | --
110468 | Dbxpto | dbo | OSUSR_BYA_RECORDCHANGELOGRECORDS | U | OSPRK_OSUSR_BYA_RECORDCHANGELOGRECORDS | 1 | NULL | 1 | 4596783434.5496 | ALTER INDEX [OSPRK_OSUSR_BYA_RECORDCHANGELOGRECORDS] ON [dbo].[OSUSR_BYA_RECORDCHANGELOGRECORDS] REBUILD WITH (SORT_IN_TEMPDB = ON, ONLINE = ON, MAXDOP = 4, FILLFACTOR = 95, RESUMABLE = OFF) | ALTER_INDEX | 35:33.4 | 32:39.7 | 0 | NULL
Today, after the problem was detected, it was updated to version: 06/21/2026 12:55 PM as per the table below:
After the problem was detected, the version was updated
--
SchemaName | ObjectName | Version | Checksum
dbo | CommandExecute | 21/06/2026 12:55 | -1965802105
dbo | DatabaseBackup | 21/06/2026 12:55 | -1125608701
dbo | DatabaseIntegrityCheck | 21/06/2026 12:55 | -1233206690
dbo | IndexOptimize | 21/06/2026 12:55 | 214653714
NOTE: It is a SQL SERVER 2022 Enterprise - Edition Microsoft SQL Server 2022 (RTM-CU25) (KB5081477) - 16.0.4255.1 (X64) April 23, 2026 22:38:54 Copyright (C) 2022 Microsoft Corporation Enterprise Edition: Color-based (64-bit) license on Windows Server 2022 Datacenter 10.0 (Build 20348: ) (Hypervisor) in Always ON Could you please help us? If you need more information, please do not hesitate to contact us. Kind regards, |
Replies: 2 comments
|
@josejulioduarte, when you use the |
|
@olahallengren |

@josejulioduarte, when you use the
@Indexesparameter all the tables have to be fully qualified with database name.https://ola.hallengren.com/sql-server-index-and-statistics-maintenance.html#Indexes