SQL Server中TRUNCATE事务回滚设置操作方法
发布时间:2023-08-01 15:22:01 所属栏目:MsSql教程 来源:
导读:我们一般都认为TruncATE是一种不可回滚的操作,它会删除表中的所有数据以及重置Identity列。
如果你在事务中进行TruncATE操作,就能回滚。反之,它就不会从日志文件文件恢复数据。它不会在日志文件中记录删除的那
如果你在事务中进行TruncATE操作,就能回滚。反之,它就不会从日志文件文件恢复数据。它不会在日志文件中记录删除的那
我们一般都认为TruncATE是一种不可回滚的操作,它会删除表中的所有数据以及重置Identity列。 如果你在事务中进行TruncATE操作,就能回滚。反之,它就不会从日志文件文件恢复数据。它不会在日志文件中记录删除的那些数据,它只在日志中记录数据页的单元分配。 下面的例子就能解释上面的所说的. 代码如下: GO --创建一个临时表 CREATE TABLE TruncateTabel(ID INT) INSERT INTO TruncateTabel(ID) SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 GO 代码如下: SELECT * FROM TruncateTabel 开始执行事务 代码如下: --开始事务 BEGIN TRAN TruncATE TABLE TruncateTabel GO --回滚之前检查TruncateTable SELECT * FROM TruncateTabel GO F5执行, 执行回滚事务 代码如下: ROLLBACK TRAN GO 再次检查表TruncateTable 代码如下: runcateTable SELECT * FROM TruncateTabel GO F5执行, runcATE操作进行回滚的。 (编辑:聊城站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐