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

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

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

尝试truncate该表

begin tran

truncate table DDMDemo

go

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

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

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

回滚操作

rollback

go

 

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

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

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

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

Kill 53

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

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

 

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

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

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

相关文章:

  • 2022-12-23
  • 2021-12-30
  • 2022-12-23
  • 2022-12-23
  • 2021-06-08
  • 2021-06-23
  • 2021-06-18
  • 2021-12-03
猜你喜欢
  • 2021-12-10
  • 2021-08-08
  • 2021-12-06
  • 2021-04-18
  • 2022-03-02
  • 2021-07-09
相关资源
相似解决方案