How to check if a query (CRUD) was made on a database
I would have thought that the Audit functionality would meet your requirements.
If you search for SQL Server Audit you'll get lots of hits - it is very configurable but too big to describe fully here.
Have you looked at that ?