在截断期间取消查询

时间:2012-03-28 12:21:09

标签: sql sql-server-2005

我想知道如果我在截断期间取消查询执行会发生什么,是否删除了记录?还有什么方法可以恢复它们吗? 在包含150万条记录的表格上激活了截断 从谷歌的一点点搜索我明白答案是否定的,但我想确定。 我正在使用SQL Server 2005

2 个答案:

答案 0 :(得分:3)

Truncate解除分配给表格的页面。

这仍然是原子的,因为你可以取消并让它回滚。您还可以在显式事务中包含TRUNCATE并执行回滚。

但是,一旦提交了交易,记录就会消失。与DELETE不同,由于操作记录最少,因此记录内容的事务日志中没有记录。

答案 1 :(得分:0)

关于this链接

的详细解释

据我所知,如果你有一个事务控件,DELETE和TRUNCATE都可以回滚。

不同的是,没有事务,如果你执行DELETE,你仍然可以通过恢复日志恢复数据,例如,你在TRUNCATE上做的事情,因为删除将被逐行记录@JNK指出,行和截断的记录最少。