У меня был тот же вопрос.Ответ на самом деле проще, чем ожидалось, и ему не нужно специальное приложение на C # для генерации большого количества SQL, чтобы покрыть все таблицы.Пример SQL ниже.Важным моментом было указать базу данных и общедоступные для INSERT / UPDATE / DELETE.
USE [master]
GO
CREATE SERVER AUDIT [CancerStatsAudit]
TO FILE
( FILEPATH = N'I:\CancerStats\Audit\'
,MAXSIZE = 128 MB
,MAX_ROLLOVER_FILES = 64
,RESERVE_DISK_SPACE = OFF
)
WITH
( QUEUE_DELAY = 1000
,ON_FAILURE = CONTINUE
,AUDIT_GUID = '5a0a18cf-fe42-4171-ad01-5e19af9e27d1'
)
ALTER SERVER AUDIT [CancerStatsAudit] WITH (STATE = ON)
GO
USE [CancerStats]
GO
CREATE DATABASE AUDIT SPECIFICATION [CancerStatsDBAudit]
FOR SERVER AUDIT [CancerStatsAudit]
ADD (INSERT ON DATABASE::[CancerStats] BY [public]),
ADD (UPDATE ON DATABASE::[CancerStats] BY [public]),
ADD (DELETE ON DATABASE::[CancerStats] BY [public]),
ADD (EXECUTE ON DATABASE::[CancerStats] BY [public]),
ADD (DATABASE_OBJECT_CHANGE_GROUP),
ADD (SCHEMA_OBJECT_CHANGE_GROUP)
WITH (STATE = ON)
GO
Примечание: DATABASE_OBJECT_CHANGE_GROUP и SCHEMA_OBJECT_CHANGE_GROUP не нужны для аудита INSERT, UPDATE и DELETE - см. Дополнительные примечания ниже.1005 * Дополнительные примечания:
Приведенный выше пример также включает DATABASE_OBJECT_CHANGE_GROUP и SCHEMA_OBJECT_CHANGE_GROUP.Они были включены, поскольку моим требованием было также отслеживать действия CREATE / ALTER / DROP над объектами базы данных.Стоит отметить, что документация не подходит для них.https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions
На этой странице указано, что DATABASE_OBJECT_CHANGE_GROUP отслеживает CREATE, UPDATE и DELETE.Это не так (я тестировал в SQL Server 2016), отслеживается только CREATE, см .: https://connect.microsoft.com/SQLServer/feedback/details/370103/database-object-change-group-audit-group-does-not-audit-drop-proc
Фактически, для отслеживания CREATE, UPDATE, DELETE, используйте SCHEMA_OBJECT_CHANGE_GROUP.Несмотря на то, что на странице документации docs.microsoft.com указано, что это работает только для схем, на самом деле это работает и для объектов в схеме.