共用方式為


COMAdminTxIsolationLevelOptions 列舉 (comadmin.h)

指出要用於交易的隔離等級。

Syntax

typedef enum COMAdminTxIsolationLevelOptions {
  COMAdminTxIsolationLevelAny = 0,
  COMAdminTxIsolationLevelReadUnCommitted,
  COMAdminTxIsolationLevelReadCommitted,
  COMAdminTxIsolationLevelRepeatableRead,
  COMAdminTxIsolationLevelSerializable
} ;

常數

 
COMAdminTxIsolationLevelAny
值: 0
支援任何隔離等級。 具有此隔離等級的下游元件一律使用其立即上游元件所使用的相同隔離等級。 如果交易中的根物件已將其隔離等級設定為 COMAdminTxIsolationLevelAny,則其隔離等級會變成 COMAdminTxIsolationLevelSerializable。
COMAdminTxIsolationLevelReadUnCommitted
交易可以讀取任何數據,即使另一筆交易正在修改數據也一樣。 任何類型的新數據都可以在交易期間插入。 這是最不安全的隔離等級,但允許最高的並行存取。
COMAdminTxIsolationLevelReadCommitted
交易無法讀取另一個尚未認可的交易所修改的數據。 任何類型的新數據都可以在交易期間插入。 這是 Microsoft SQL Server 的預設隔離等級。
COMAdminTxIsolationLevelRepeatableRead
目前交易讀取的數據在目前交易完成之前,無法由另一筆交易變更。 任何類型的新數據都可以在交易期間插入。
COMAdminTxIsolationLevelSerializable
目前交易讀取的數據在目前交易完成之前,無法由另一筆交易變更。 無法插入會影響目前交易的新數據。 這是最安全的隔離等級,而且是預設值,但允許最低層級的並行存取。

備註

這個列舉是用來設定使用交易之元件的交易隔離等級。 它也可用來設定使用交易服務的隔離等級,而不需將 元件當做參數傳遞至 IServiceTransactionConfigBase::IsolationLevel。 此方法是透過 CServiceConfig 呼叫,以取得透過 CoCreateActivity 所建立的活動所提交的工作,或包含在對 CoEnterServiceDomain 和 CoLeaveServiceDomain 呼叫之間的工作

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

規格需求

需求
最低支援的用戶端 Windows XP [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2003 [僅限傳統型應用程式]
標頭 comadmin.h

另請參閱

CoCreateActivity

CoEnterServiceDomain

設定交易隔離等級