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 |