¿Cómo usaría una pista de auditoría para mostrar qué campos se han editado?

Para un proyecto en el que estoy trabajando, se me ha pedido que cree un registro de auditoría de todos los cambios que se han realizado en los registros. Esta es la primera vez que he tenido que crear un registro de auditoría, así que he estado investigando mucho sobre el tema.

La aplicación se desarrollará en PHP / MSSQL y tendrá poco tráfico.

Desde mi lectura, prácticamente he decidido tener una tabla de auditoría y usar los desencadenantes para registrar los cambios en la tabla.

Los dos requisitos para mostrar en la aplicación son los siguientes:

Ser capaz de ver un registro de todos los cambios realizados en un campo (sé cómo hacerlo)

Podrá ver, al ver un registro en la aplicación, un indicador al lado de cualquier campo del registro que haya cambiado (y posiblemente otra información como la fecha del último cambio).

El artículo # 2 es el que actualmente me está dando pena. Sin hacer una consulta separada para cada campo (o una consulta anidada muy larga que demorará años en ejecutarse), ¿alguien tiene sugerencias para una manera óptima de hacerlo? (Pensé en agregar un campo adicional "ModifiedFlag" para cada campo de la tabla, que actuará como indicador booleano si el campo se ha editado alguna vez, pero parece una sobrecarga.

Respuestas a la pregunta(3)

Su respuesta a la pregunta