我想获取应用于 SQL Server 2008 中特定表的所有事务。
我发现上次使用此脚本更新表的时间:
SELECT OBJECT_NAME(OBJECT_ID) AS DatabaseName, last_user_update,*
FROM sys.dm_db_index_usage_stats
WHERE database_id = DB_ID( 'DBName')
AND OBJECT_ID=OBJECT_ID('tableName')
我想知道该表的所有事务(插入、更新、删除)及其日期时间以及应用的查询。
做这个的最好方式是什么?
在合理的时间内做到这一点的唯一方法是使用第三方工具(正如马丁在第一条评论中所说),例如ApexSQL日志 http://www.apexsql.com/sql_tools_log.aspx可以读取事务日志并获取您需要的信息。
请注意,为了使其正常工作,您的数据库必须处于完全恢复模式,因为此时 SQL Server 会记录完整的事务详细信息,以便稍后重建。
另一种选择是研究如何使用未记录的 fn_dblog 函数,但这会花费您更多的时间,并且您将无法读取分离的日志或事务日志备份。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)