SQL logs to check what a specific user does

So we have an external consultant that has created a new application for our scanners.
He is updating things in our database and I'm not a 100% sure he's updating the right things.
I'd like to be able to check what he is doing in our SQL server but I have no idea how to do that.
This way I can prove that he is or isn't doing the things and we can check elsewhere or not for the problems.
vanroybelAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Vitor MontalvãoMSSQL Senior EngineerCommented:
You can use SQL Audit but what you really want to audit?
Schema changes or data changes?
SQL Server configuration changes?
Database configuration changes?
What kind of permissions he has?
0
vanroybelAuthor Commented:
I need to check data changes. What updates a specific field in a specific table and which user does it.
0
Vitor MontalvãoMSSQL Senior EngineerCommented:
Are you familiar with the SQL Server Audit feature?
Isn't hard to understand. Brad McGehee wrote a good article about how to work with it. Give a look on it and check if it's this you are looking for.
0
Problems using Powershell and Active Directory?

Managing Active Directory does not always have to be complicated.  If you are spending more time trying instead of doing, then it's time to look at something else. For nearly 20 years, AD admins around the world have used one tool for day-to-day AD management: Hyena. Discover why

OriNetworksCommented:
I'm sure Auditing would be a better way to log and archive activity. In case your server does support auditing, you can also use SQL Profile to monitor and track all activity. Keep in mind you may want to filter activity to look for only the LoginNames he would be using and of course test any filters and templates beforehand.
0
vanroybelAuthor Commented:
Well I tried using auditing but it doesn't work because it is not available for the standard edition.
I'll check SQL profile then.
0
Vitor MontalvãoMSSQL Senior EngineerCommented:
It's only available in Standard Edition for SQL Server 2012 and 2014.
0
OriNetworksCommented:
Sorry I misspelled. The correct term is SQL Profiler and you can access is from the start menu or if you already have SQL Server Management Studio open you can access profiler from the Tools menu.
0
vanroybelAuthor Commented:
Ok so with SQL profiler I can start a trace activity happening at the moment. I won't be able  to check the data from before I suppose?
0
Vitor MontalvãoMSSQL Senior EngineerCommented:
No, you can't go backwards. You need to create an alert mechanism but that's only works from present and forward.
0
vanroybelAuthor Commented:
So with standard edition I don't have any way of analyzing the data from the previous days? Is there any tool I could use to analyze this data?
0
vanroybelAuthor Commented:
Ok, what I really need is a way to save the user who does the update on a specific field. I don't know if our ERP is doing the update or if it is coming from somewhere else.

I read that I can do that with a trigger but I don't understand the codes I'm finding. Also it seems as if I will have to use the trigger to update the value which is not possible with our ERP, since it doesn't let me choose how it will update the values.

Otherwise if I could create a trace that does this specifically it would be good too.
0
Vitor MontalvãoMSSQL Senior EngineerCommented:
Not even in Enterprise Edition you will be able to read data from past.
There are some 3rd tools that can read SQL Server Transaction Log files (*.LDF) or Transaction Log Backups. Check this one from Apex. I think you can download a trial version so you don't need to pay.
0
Vitor MontalvãoMSSQL Senior EngineerCommented:
A trigger it's also a good solution. You can create a new table where you'll record all changes made in the database.
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
vanroybelAuthor Commented:
I created a Trigger that saves every changes in the database. Thanks for your help.
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Windows Server 2008

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.