Problem:
There are a lot of different databases, which is populated by many different applications directly (without any common application layer). Data can be accessed
Don't you review possibility to use SQL profiler. Using filter you can select only update operations, then write to log.