共用方式為


異動和並行存取

適用於:.NET Framework .NET .NET Standard

下載 ADO.NET

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

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

注意

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

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

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

本節內容

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

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

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

開放式並行存取描述開放式和封閉式並行存取,以及您如何測試並行存取違規。

請參閱