Asi es en Profiler
Por codigo solo que uses Server Side Trace (no tengo mucha experiencia en eso), ahi configuras una traza, activando cientos eventos (42 y 43 ) y ciertas columnas (1,6,7,8,14,15), ejecutas tu traza y le dejas ejecutando un "x" tiempo.
Despues la detienes y subes el archivo a una tabla que se crea con ello y la procesas.
Otra pero no estoy muy seguro de ellas (en SQL 2005) son los DDL TRIGGER (DDL_DATABASE_LEVEL_EVENTS) que tendrias que crear para tabla, pero no se si estos se disparen cuando ejecutas store procedures.