/* Warm the Cache: Select All the Data By Brent Ozar, Brent Ozar PLF, LLC */ SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED declare @StringsToExec table(Command VARCHAR(500)) DECLARE @CurrentCommand VARCHAR(500) insert into @StringsToExec(Command) select 'select count(*) from dbo.Users WITH (INDEX(' + CAST(index_id AS VARCHAR(50)) + '))' from sys.indexes where [object_id] = object_id('dbo.Users') AND is_disabled = 0 AND has_filter = 0 DECLARE result_cursor CURSOR FOR SELECT Command FROM @StringsToExec OPEN result_cursor FETCH NEXT FROM result_cursor into @CurrentCommand WHILE @@FETCH_STATUS = 0 BEGIN exec(@CurrentCommand) FETCH NEXT FROM result_cursor into @CurrentCommand END CLOSE result_cursor DEALLOCATE result_cursor