隔离级别

锁定在用作事务控制机制时,可以解决并发问题。虽然可以在任何时间运行多个事务,但锁定只允许所有事务独立运行,运行时相互完全隔离。在隔离级别,事务可以接受不一致的数据。提高隔离级别可以更有效地防止数据的不一致性,但缺点是降低并发处理能力。

在 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 可以确保一个事务无法读取另一个事务的未提交数据(脏读)。实现此功能的方法是,通过使用页版本控制机制,允许用户读取数据,而不需要数据的 S 锁。这样,对于读 (SELECT) 操作,可以允许例外的并发处理。

隔离级别与并发问题

下表列出了隔离的级别以及各个级别可以解决的并发问题:

注意:
可能出现的并发问题包括未提交相关性、不一致分析以及幻读。有关并发问题的详细信息,请参阅并发
隔离级别 未提交相关性(脏读) 不一致分析(不可重复读) 幻读

已提交读

可重复读

可串行读

隔离级别可以通过编程方式进行设置,也可以通过使用 SQL 语法 SET TRANSACTION ISOLATION LEVEL 进行设置。有关详细信息,请参阅事务隔离级别

请参阅

概念

事务 (SQL Server Compact Edition)
锁定 (SQL Server Compact Edition)
游标 (SQL Server Compact Edition)

帮助和信息

获取 SQL Server Compact Edition 帮助