sqlserver implict_transactions

什么是implict_transactions

implict_transactions是指sqlserver帮你把所有的DDL脚本自动封装成事务。不需要你显式写BEGIN TRAN 关键字来指明事务。

这里有一个很有意思的文档,写的很有趣:

http://www.msbiguide.com/implicit-transactions-in-sql-server/

开启implict_transactions的影响

        若开启了implict_transactions,那么对于任何一个查询窗口,不管里面的DDL脚本是select/insert/delete/update……等其他的所有脚本,只要当前查询窗口不关闭,那么整张表就会锁(排他锁)——查询也不例外。导致其他访问线程进来后一直处于等待状态。

在UI界面操作的时候会明显感受到,当你试图关闭操作窗口时,会有提示。

若选择否,那么执行的insert/delete/update都会回滚。

打开与关闭implict_transactions

操作路径:

       工具-》选项

官方讲解文档(英文):

https://docs.microsoft.com/en-us/sql/t-sql/statements/set-implicit-transactions-transact-sql?view=sql-server-2017

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章