我知道它不会像 DELETE 那样记录所有内容,但我不确定它会写入日志文件的内容。
小智 5
DELETE 和 TRUNCATE TABLE 语句的事务日志文件中记录的记录之间存在巨大差异
DELETE 语句记录到底删除了什么,即删除行的值,例如'JohnSmith',这样你就可以读取事务日志内容(你可以使用fn_dblog),查看删除了什么,如果你重新插入删除的记录想。
使用 TRUNCATE TABLE 语句,您不能这样做,因为该语句是“最少记录”的。确切的删除值不会记录在事务日志中,只会记录包含截断记录的页面的 ID。这些页面在数据库数据文件中被标记为覆盖,当新事务写入这些页面时,截断的数据将永远消失。
因此,仅读取事务日志无法提供由于 TRUNCATE TABLE 语句而丢失的值。您必须恢复截断记录的唯一机会是读取事务日志中的页面 ID 并在 MDF 文件中找到它,以防它没有被覆盖
| 归档时间: |
|
| 查看次数: |
6072 次 |
| 最近记录: |