Sql-server – MSSQL – How to log every rpc_completed event into a table

auditextended-eventssql server

I want to log the Execution Time and Parameters for every stored procedure call on my database.

What I reached by searching is to use extended events as the latest method with minimum performance overhead. My aim is to achieve a similar result as the 'rpc_completed' event of 'extended events', but the problem with using extended events is that their sessions log output into .xe* files and there is no option to choose a database table as far as I read from tutorials/docs.

Can I (by any means), redirect extended events logs to a database table synchronously? I can sacrifice hardware resources for this, but can't pick methods like triggering interval-ed queries to read from *.xe files and insert them into a database table

Best Answer

You can still do this with SQL Server Profiler

when the trace properties window appears check the box - save to table, then supply a server & database plus define a tablename

I don't think extended events offers this functionality in a synchronous manner (you can save to a table once you have collected your data into a ring buffer or file - but you said you didn't want to do this).