Como eu usaria uma trilha de auditoria para exibir quais campos já foram editados?

Para um projeto em que estou trabalhando, fui solicitado a criar uma trilha de auditoria de todas as alterações feitas nos registros. Esta é a primeira vez que tenho que criar uma trilha de auditoria, então tenho feito muita pesquisa sobre o assunto.

O aplicativo será desenvolvido em PHP / MSSQL e terá pouco tráfego.

Da minha leitura, decidi praticamente ter uma tabela de auditoria e usar gatilhos para registrar as alterações na tabela.

Os dois requisitos para exibição no aplicativo são os seguintes:

Ser capaz de ver um log de todas as alterações feitas em um campo (eu praticamente sei como fazer isso)

Poder ver, ao visualizar um registro no aplicativo, um indicador próximo a qualquer campo no registro que já foi alterado (e possivelmente outras informações, como a data da última alteração).

O item # 2 é o que está me dando tristeza. Sem fazer uma consulta separada para cada campo (ou uma consulta aninhada muito longa que levará séculos para ser executada), alguém tem sugestões para uma maneira ideal de fazer isso? (Eu pensei em adicionar um campo "ModifiedFlag" extra para cada campo na tabela, que funcionará como um indicador booleano se o campo já foi editado, mas isso parece ser uma grande sobrecarga.

questionAnswers(3)

yourAnswerToTheQuestion