vanroybel
asked on
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.
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.
ASKER
I need to check data changes. What updates a specific field in a specific table and which user does it.
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.
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.
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.
ASKER
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.
I'll check SQL profile then.
It's only available in Standard Edition for SQL Server 2012 and 2014.
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.
ASKER
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?
No, you can't go backwards. You need to create an alert mechanism but that's only works from present and forward.
ASKER
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?
ASKER
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.
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.
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.
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.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
I created a Trigger that saves every changes in the database. Thanks for your help.
Schema changes or data changes?
SQL Server configuration changes?
Database configuration changes?
What kind of permissions he has?