This should work:
select * from sys.dm_os_performance_counters where counter_name = 'Batch Requests/sec'
It actually returns full packet requests. You periodically check this number, and then use this calculation:
ReqsPerSec = (curr.Value - prev.Value) / (curr.time - prev.time)
RBarryYoung
source share