shabadiveda Ответов: 2

Как проверить последнюю таблицу, которая была обновлена после транзакции в MS SQL


Хай Все,

Я хочу знать, какая таблица была обновлена после выполнения транзакции из front end в MS SQL.

Я проверил приведенный ниже код..
но не оправдал моих ожиданий.

Мне нужна таблица, в которую данные были вставлены после выполнения транзакции.

пожалуйста, помогите мне

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

SELECT deqs.last_execution_time AS [Time], dest.TEXT AS [Query], dest.dbid
FROM sys.dm_exec_query_stats AS deqs
CROSS APPLY sys.dm_exec_sql_text(deqs.sql_handle) AS dest
ORDER BY deqs.last_execution_time DESC

2 Ответов

Рейтинг:
2
Рейтинг:
0

Vijai Anand.G

Надеюсь, это вам поможет.
Это решение поможет для меньшего количества таблиц

1. создайте таблицу со следующими столбцами

Имя Таблицы: LastUpdateTableInfo

1.Id -первичный ключ(автогенерация)
2.Имятаблицы
3.UpdateDate

2. Создайте триггер AfterUpdate для каждой таблицы

use [DatabaseName] 
Go
create trigger trgupdatetableInfo on [TableName]
for update
as
declare @tableName as varchar(50)
declare @lastUpdateTime as varchar(50)

set @tableName =[yourtablename]
set @lastUpdateTime= GETDATE()

insert into dbo.LastUpdateTableInfo (tablename,UpdateDate) values (@tableName,@lastUpdateTime)
Go


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

Вы можете получить имя таблицы последнего обновления, выполнив следующий запрос
SELECT  [Id]
      ,[TableName]
      ,[UpdateDate]
  FROM [placeDB].[dbo].[LastUpdateTableInfo] order by Id desc