什麼是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
操作路徑:
工具-》選項