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

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