Idera Diagnostic manager does a good job for us with putting the history in a database.
But, you can accomplish this with a Server-Side trace.
Read up on SQL Profiler, and how to run server-side rather than Client-based, and capture the TSQL event SQL:StntCompleted with the columns for duration, NT User, etc.
God Bless,
Thomas
Thomas LeBlanc, MVP Data Platform Consultant