While connected to our production server (SQL2008. very powerful machine), this select statement takes 2 seconds, spitting back all fields (4 MB of data in total). 

select top 30000 * from person with(nolock)

From any other box on the same network (connecting using SQL authentication or windows authentication), the same query takes 1 minute, 8 seconds.  

I am testing with this very simple statement to illustrate that it's not an indexing problem or query-related problem.  (We have performance issues with all queries at the moment)

The rows come in chunks, and not all at once.  I get my first rows instantly, and then wait for over 1 minute for the batches of rows to come in. 

Here are the Client Statistics from the query  (ran from the remote box):

Client Execution Time	15:30:48		
Query Profile Statistics			
  Number of INSERT, DELETE and UPDATE statements	0		
  Rows affected by INSERT, DELETE, or UPDATE statements	0		
  Number of SELECT statements 	2		
  Rows returned by SELECT statements	30001		
  Number of transactions 	0
		
Network Statistics			
  Number of server roundtrips	3		
  TDS packets sent from client	3		
  TDS packets received from server	1216		
  Bytes sent from client	266		
  Bytes received from server	4019800	
	
Time Statistics			
  Client processing time	72441   (72 seconds)		
  Total execution time	72441		
  Wait time on server replies	0		


We can see that the "Client Processing Time" is equal to the total execution time.  

Does anyone know what steps I can take to diagnose why the transfer of the actual data is taking a long time?  

Is there an SQL configuration parameter that restricts or limits data transfer speed between machines? 

Thanks in advance!