Если вы запускаете решение вручную из-за отсутствия поддержки триггера, я настоятельно рекомендую вам не просто сохранять изменения в строковом объекте. Однажды вас попросят запросить эти данные, и вам придется выполнить кучу разборов строк, чтобы вернуть ваши данные. (Я говорю из опыта здесь.)
Самый простой подход - просто создать теневую таблицу аудита, в которой есть все те же столбцы, что и в исходной таблице, плюс столбец даты изменения и последовательный идентификатор. Затем у вас есть вся история для восстановления в любом формате, который вам нужен, и вы можете запросить ее по желанию.