0
点赞
收藏
分享

微信扫一扫

黑科技——回滚sqlserver truncate和drop表操作


隔离级别如下(默认的测试也可以)

黑科技——回滚sqlserver truncate和drop表操作_回滚

黑科技——回滚sqlserver truncate和drop表操作_sql_02

尝试truncate该表

begin tran

truncate table DDMDemo

go

黑科技——回滚sqlserver truncate和drop表操作_sql_03

此时在其他会话查询该表会被阻塞

黑科技——回滚sqlserver truncate和drop表操作_隔离级别_04

回滚操作

rollback

go

 

回到查询的会话,发现阻塞结束,且能查询出结果,回滚成功

黑科技——回滚sqlserver truncate和drop表操作_sql_05

如果在还没回滚的时候truncate会话被kill了会怎样?

黑科技——回滚sqlserver truncate和drop表操作_sql_06

Kill 53

黑科技——回滚sqlserver truncate和drop表操作_sql_07

回到查询的会话,发现阻塞结束,且能查询出结果,说明truncate被回滚,也就是说sqlserver会话被kill的默认行为是回滚

 

Drop操作也是一样的,这里不另外贴图了。

关于sqlserver ddl和Oracle的区别,可以参考这个文章,颠覆了认知。。。。。

https://www.mssqltips.com/sqlservertip/4591/ddl-commands-in-transactions-in-sql-server-versus-oracle/

举报

相关推荐

0 条评论