共用方式為


隔離等級

使用鎖定做為交易控制機制,可以解決並行問題。鎖定可讓所有的交易彼此在完全隔離的情況下執行,雖然任何時候都可能有一個以上的交易在執行。交易準備好接受不一致資料的等級,稱為隔離等級。增加的隔離等級可針對資料不一致提供更多的保護,但缺點是並行會減少。

在 Microsoft SQL Server 2005 Compact Edition (SQL Server Compact Edition) 中,應用程式需要的隔離等級決定 SQL Server Compact Edition 使用的鎖定行為。

SQL Server Compact Edition 支援下列的隔離等級 (從最低到最高)︰

  • 讀取認可 (SQL Server Compact Edition 預設值)
  • 可重複讀取
  • 可序列化 (交易彼此完全隔離)

當隔離等級提高,資料在資料不一致上就獲得越多的保護。然而,這會降低交易的並行,並影響多使用者存取。

附註:
SQL Server Compact Edition 確保一個交易無法讀取另一個交易未認可的資料 (強行讀取)。只要使用資料頁版本控制機制就可以做到,因為該機制讓使用者不必要求鎖定資料就可讀取資料。這提供讀取 (SELECT) 作業的例外並行。

隔離等級和並行問題

下表顯示隔離的等級,以及該等級提出的並行問題。

附註:
可能發生的並行問題包括未認可的相依性、不一致的分析以及幽靈讀取 (phantom read) 等。如需並行問題的詳細資訊,請參閱<並行>。
隔離等級 未認可的相依性 (強行讀取) 不一致的分析 (非重複讀取) 幽靈讀取

讀取認可

可重複讀取

可序列化

隔離等級可以用程式設計的方式設定,或是使用 SQL 語法 SET TRANSACTION ISOLATION LEVEL 設定。如需詳細資訊,請參閱<交易隔離等級>。

請參閱

概念

交易 (SQL Server Compact Edition)
鎖定 (SQL Server Compact Edition)
資料指標 (SQL Server Compact Edition)

說明及資訊

取得 SQL Server Compact Edition 協助