手机
当前位置:查字典教程网 >编程开发 >mssql数据库 >SQL Server中TRUNCATE事务回滚操作方法
SQL Server中TRUNCATE事务回滚操作方法
摘要:我们一般都认为TRUNCATE是一种不可回滚的操作,它会删除表中的所有数据以及重置Identity列。如果你在事务中进行TRUNCATE操作...

我们一般都认为TRUNCATE是一种不可回滚的操作,它会删除表中的所有数据以及重置Identity列。

如果你在事务中进行TRUNCATE操作,就能回滚。反之,它就不会从日志文件文件恢复数据。它不会在日志文件中记录删除的那些数据,它只在日志中记录数据页的单元分配。

下面的例子就能解释上面的所说的.

复制代码 代码如下:USE temp_test_database

GO

--创建一个临时表

CREATE TABLE TruncateTabel(ID INT)

INSERT INTO TruncateTabel(ID)

SELECT 1

UNION ALL

SELECT 2

UNION ALL

SELECT 3

GO

复制代码 代码如下:--检查插入的数据

SELECT * FROM TruncateTabel

如图:

SQL Server中TRUNCATE事务回滚操作方法1

开始执行事务

复制代码 代码如下:

--开始事务

BEGIN TRAN

TRUNCATE TABLE TruncateTabel

GO

--回滚之前检查TruncateTable

SELECT * FROM TruncateTabel

GO

F5执行,如图:

SQL Server中TRUNCATE事务回滚操作方法2

执行回滚事务

复制代码 代码如下:--回滚事务

ROLLBACK TRAN

GO

再次检查表TruncateTable

复制代码 代码如下:--回滚之后再次检查TruncateTable

SELECT * FROM TruncateTabel

GO

F5执行,如图:

SQL Server中TRUNCATE事务回滚操作方法3

总结一下,事务是可以对TRUNCATE操作进行回滚的。

【SQL Server中TRUNCATE事务回滚操作方法】相关文章:

Sql Server中REPLACE函数的使用

SQL Server 2005 中做全文检索的方法分享

SQL Server 索引介绍

SQL Server 2005 开启数据库远程连接的方法

SQLServer2005 没有服务器名称的两种解决方法

Sql Server中的事务介绍

SQLServer 2008中通过DBCC OPENTRAN和会话查询事务

SQL Server 2005中的外联结用法

SQL Server 2005 更改安装路径目录的方法小结

SQLServer2005 XML数据操作代码

精品推荐
分类导航