Tempdb stress test

Stored proc to hammer tempdb, useful for tests. IF OBJECT_ID(‘dbo.heater’) IS NOT NULL BEGIN DROP PROCEDURE dbo.heater IF OBJECT_ID(‘dbo.heater’) IS NOT NULL PRINT ‘<<< FAILED DROPPING PROCEDURE dbo.heater >>>’ ELSE PRINT ‘<<< DROPPED PROCEDURE dbo.heater >>>’ END go create procedure heater @limit int as begin set nocount on declare @error                    int, @procname                 varchar(35), @tc                       int, @rc                       int, @rs                       int, /* Timing the process */ @elapsed_time1            datetime, @elapsed_time2            datetime, @snapdate                 datetime, @upd_stats_diff           int, @seconds                  numeric (10,4), /* Counting rows. Declaring variables */ @total_deleted            int, @total_inserted           int, @total_updated            int, @inf_initial              int, @inf_final                int select @elapsed_time1=getdate() print “” print “Starting time: %1!. “, @elapsed_time1 print “” create table #heater (col1 int, col2 char(255), col3 char(255), col4 char(255)) declare @counter int select @counter =1 while (@counter < @limit ) begin insert into  #heater values (@counter, “AAAAAAAAAAAAAAAAA”, “BBBBBBBBBBBBBBBBBBBBBBB”, “CCCCCCCCCCCCCCCCCCCCCCCCCC”) select @counter = @counter + 1 if (@counter = @limit/2) begin select getdate() exec sp_helpsegment “logsegment” exec sp_helpsegment “default” exec sp_helpsegment “system” end end /* Timing the process */ select @elapsed_time2=getdate() select @seconds=datediff(ss, @elapsed_time1, @elapsed_time2) print “” print “Ending time: %1!. Elapsed time: %2! seconds”, @elapsed_time2, @seconds end go IF OBJECT_ID(‘dbo.heater’) IS NOT NULL PRINT ‘<<< CREATED PROCEDURE dbo.heater >>>’ ELSE PRINT ‘<<< FAILED CREATING PROCEDURE dbo.heater >>>’ go EXEC sp_procxmode ‘dbo.heater’,’unchained’ go