首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

SQL Server Management Studio 關閉自動提交交易、啟用隱式/顯式交易模式

     編輯:關於SqlServer

三種交易模式比較

模式行為適用場景
自動提交(預設)每一條 T-SQL 敘述句即為一個獨立交易,自動 COMMIT/ROLLBACK一般查詢、簡單 DML
隱式交易開啟後,第一條敘述句啟動交易,後續敘述句隸屬同一交易,需手動 COMMIT/ROLLBACK 結束,隨即自動開啟下一個交易批次處理、需原子性的多步驟操作
顯式交易以 BEGIN TRANSACTION 明確開始,COMMIT/ROLLBACK 明確結束複雜業務邏輯、錯誤處理、巢狀交易

啟用隱式交易設定步驟

  1. 開啟 SSMS → 工具 → 選項
  2. 展開 查詢執行 → SQL Server → ANSI
  3. 勾選 SET IMPLICIT_TRANSACTIONS
  4. 確定重新開啟查詢視窗生效

程式碼範例

隱式交易

-- 設定後,下列兩句屬於同一交易
DELETE FROM TableA WHERE Id = 1
UPDATE TableB SET Status = 1 WHERE Id = 1
-- 必須明確結束
COMMIT TRANSACTION
-- 或
ROLLBACK TRANSACTION

顯式交易

BEGIN TRANSACTION
DELETE FROM erpdb.dbo.mtl_categories_b
-- 發生錯誤時回滾
ROLLBACK TRANSACTION
-- 正常結束
-- COMMIT TRANSACTION

最佳實務建議

  • 開發/測試環境建議啟用隱式交易,養成手動控制交易習慣。
  • 生產環境關鍵業務務必使用顯式交易,並搭配 TRY...CATCH 錯誤處理。
  • 避免長時間交易鎖定資源,盡量縮短交易範圍。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved