設定交易隔離等級

COM+ 允許可設定的交易隔離等級,讓開發人員更充分掌控其應用程式。 COM+ 1.5 之前的 COM+ 版本一律會針對交易使用最高等級的隔離。 雖然此層級保證一律會保留數據完整性,但是當需要對大型資料庫執行許多交易時,可能會導致效能問題,例如逾時。 透過可設定的隔離等級,有經驗的開發人員可以增加並行,以改善效能和延展性。

COM+ 提供下列交易隔離等級。

層級 描述
序列化 目前交易所讀取的數據在目前交易完成之前,無法由另一個交易變更。 無法插入任何會影響目前交易的新數據。 這是最安全的隔離等級,而且是預設值。
可重複讀取 目前交易所讀取的數據在目前交易完成之前,無法由另一個交易變更。 任何類型的新數據都可以在交易期間插入。
讀取認可 交易無法讀取另一個尚未認可的交易所修改的數據。 這是 Microsoft SQL Server 中的預設隔離等級。
讀取未認可 交易可以讀取任何數據,即使它正由另一個交易修改也一樣。 這是最不安全的隔離等級,但允許最高的並行存取。
任意 支援任何隔離等級。 下游元件最常使用此設定來避免衝突。 此設定很有用,因為任何下游元件都必須以等於或小於其直接上游元件的隔離等級來設定。 因此,將隔離等級設定為 Any 的下游元件一律會使用其直接上游元件所使用的相同隔離等級。 如果交易中的根物件已將其隔離等級設定為 Any,則其隔離等級會變成串行化。

 

注意

如果下游元件設定的隔離等級高於上游元件,並嘗試在交易中登記,就會產生錯誤並中止交易。

 

設定交易隔離等級