I’ve been using SQL Server profiler quite frequently to check for redundant or badly performing queries.
But is there an event (among the giant list) that allows you to log the total amount of time it takes to transfer the data from the data base to the application?
This would be a very good indicator for queries that return way more data than needed in the application.
It sounds to me like you are wanting to identify queries that return large result sets. Taking this a level deeper then, what you really want to do is to identify which queries are consuming the largest amount of data. This can be seen in terms of both logical reads and physical reads.
In order to view this information in a report you can use the freely available Performance Dashboard Reports or make use of the SQL Server DMV’s.
For example, the following queries have been taken from the excellent SQL Server Performance Blog by Glenn Berry: