異動和並行存取

異動是由單一命令或當做封裝 (Package) 執行的命令群組所組成。 交易可讓您將多項作業結合成單一工作單位。 如果異動的某一處失敗,則所有更新都會復原到異動之前的狀態。

異動必須符合 ACID 屬性 (單元性 (Atomicity)、一致性 (Consistency)、隔離性 (Isolation) 和持續性 (Durability),才能保證資料一致性。 大多數關聯式資料庫系統 (例如 Microsoft SQL Server) 都可以支援異動,其方法是在每次用戶端應用程式執行更新、插入或刪除作業時,提供鎖定、記錄和異動管理功能。

注意

如果鎖定保留時間太久,包含多個資源的交易可能會降低並行。 因此,請盡可能縮短異動的時間長度。

如果某筆異動包含相同資料庫或伺服器中的多個資料表,則預存程序 (Stored Procedure) 中的明確異動通常會有較佳的效能。 您可以使用 Transact-SQL BEGIN TRANSACTIONCOMMIT TRANSACTIONROLLBACK TRANSACTION 陳述式,在 SQL Server 預存程序中建立交易。

包含不同資源管理員的交易 (例如 SQL Server 與 Oracle 之間的交易) 需要分散式交易。

本節內容

本機異動
示範如何針對資料庫執行交易。

分散式交易
說明如何在 ADO.NET 中執行分散式異動。

System.Transactions 與 SQL Server 整合
說明 System.Transactions 如何與 SQL Server 整合以使用分散式交易。

開放式並行
說明開放式與封閉式同步存取,以及如何測試並行違規。

另請參閱