ProgrammingEnthusiast Ответов: 2

Как я могу перечислить имена таблиц в моей базе данных, которые имеют изменения (новая запись вставлена, запись обновлена или удалена)


у меня есть MS SQL Server Express edition, и я хочу знать, были ли новые продукты закодированы в моем приложении через мою базу данных, или если пользователь закодировал новых сотрудников или изменил информацию о сотрудниках. я хочу, чтобы эти изменения хранились в другой таблице, чтобы я мог легко видеть, что это такое и из каких таблиц.

Что я уже пробовал:

я думал о создании триггера для этого, но это потребовало бы от меня добавления триггеров в каждую таблицу. если есть триггер для изменений в базе данных?

Orcun Iyigun

Вы можете рассмотреть возможность поиска 3 функций аудита SQL Server (отслеживание изменений, сбор данных изменений и аудит SQL Server)

2 Ответов

Рейтинг:
1

vani suresh

Привет паяльник,

Пожалуйста, следуйте этому Лин объяснил о триггере для вставки, обновления, удаления в таблицах, и вы можете найти образец таблицы и сценарий также.
Триггер-вставка, обновление, удаление в таблицах


Спасибо
:)


Рейтинг:
1

Daniel Jones

SELECT 
      [db_name] = d.name
    , [table_name] = SCHEMA_NAME(o.[schema_id]) + '.' + o.name
    , s.last_user_update
FROM sys.dm_db_index_usage_stats s
JOIN sys.databases d ON s.database_id = d.database_id
JOIN sys.objects o ON s.[object_id] = o.[object_id]
WHERE o.[type] = 'U'
    AND s.last_user_update IS NOT NULL
    AND s.last_user_update BETWEEN DATEADD(wk, -1, GETDATE()) AND GETDATE()