У меня есть типичное веб-приложение, основанное на CRUD. Когда определенные таблицы или столбцы изменяются, нам нужно хранить информацию об этом в истории. Это может, например. быть таблицей AUDIT, содержащей новые/старые значения столбцов, временную метку, к какой таблице она относится, имя пользователя, изменившего ее, и т. д.
Обычно я реализовал это, например. с триггерами для получения этой информации и сохранения в таблице AUDIT.
Однако можно ли добиться того же автоматически с помощью функций аудита SQL Server 2016? Мне приходит в голову несколько вопросов: 1) может ли он хранить данные аудита в таблице базы данных, как в приведенном выше примере с триггерами? 2) разрешено ли приложению читать данные или для доступа к проверенным данным требуются специальные учетные данные администратора? 3) можно ли указать, какую информацию нужно логировать, или функционал логирует все автоматически?