在 SQL Server 中,可以使用系统函数fn_dblog
来查看事务日志的记录。该函数返回一个结果集,其中包含了事务日志中的详细信息,例如操作类型、事务 ID、LSN 等。
以下是一个示例查询,用于获取特定时间段内某张数据表的更新时间:
sql
DECLARE @start_time DATETIME = '2024-07-01 00:00:00';
DECLARE @end_time DATETIME = '2024-07-05 23:59:59';
SELECT [begin_time]
FROM sys.fn_dblog(NULL, NULL)
WHERE [operation] IN ('LOP_MODIFY_ROW', 'LOP_INSERT_ROWS', 'LOP_DELETE_ROWS')
AND [alloc_unit_name] = 'dbo.YourTableName'
AND [begin_time] >= @start_time
AND [begin_time] <= @end_time;
在上述查询中,使用了DECLARE
语句定义了两个变量@start_time
和@end_time
,分别表示起始时间和结束时间。然后,在查询中使用这些变量来筛选出指定时间段内的记录。
请注意,将示例中的'dbo.YourTableName'
替换为你要查询的实际表名。
此外,还可以根据需要添加其他条件来进一步筛选结果集,例如根据事务 ID、操作类型等。