Listing 1: Excerpt from the sp_Now Stored Procedure BEGIN PRINT ' ' PRINT ' ' PRINT 'O' + REPLICATE('x',120) + 'O' PRINT 'O' + REPLICATE('x',120) + 'O' PRINT ' ' PRINT ' ' PRINT ' ' -- BEGIN CALLOUT A SELECT 'loginame' = LEFT(loginame, 30), 'hostname' = LEFT(hostname,30), 'database' = LEFT(db_name(dbid),30), 'spid' = STR(spid,4,0), 'block' = STR(blocked,5,0), 'phys_io' = STR(physical_io,8,0), 'cpu(mm:ss)' = STR((cpu/1000/60),6) + ':' + CASE WHEN LEFT((STR(((cpu/1000) % 60),2)),1) = ' ' THEN STUFF(STR(((cpu/1000) % 60),2),1,1,'0') ELSE STR(((cpu/1000) % 60),2) END , 'mem(MB)' = STR((CONVERT(float,memusage) * 8192.0 / 1024.0 / 1024.0),8,2), 'program_name' = LEFT(program_name,50), 'command' = cmd, 'lastwaittype' = LEFT(lastwaittype,15), 'login_time' = CONVERT(char(19),login_time,120), 'last_batch' = CONVERT(char(19),last_batch,120), 'status' = LEFT(status, 10), 'nt_username' = LEFT(nt_username,20) FROM master..sysprocesses WHERE spid = @spid -- END CALLOUT A PRINT ' ' PRINT ' ' DBCC INPUTBUFFER(@spid) PRINT ' ' PRINT ' ' -- BEGIN CALLOUT B SELECT * FROM ::fn_get_sql(@handle) -- END CALLOUT B FETCH NEXT FROM ActiveSpids INTO @handle, @spid END