事务和并发 (ADO.NET)

事务由作为包执行的单个命令或一组命令组成。 通过事务可以将多个操作合并为单个工作单元。 如果在事务中的某一点发生故障,则所有更新都可以回滚到其事务前状态。

事务必须符合 ACID 属性(原子性、一致性、隔离和持久性)才能保证数据的一致性。 大多数关系数据库系统(例如 Microsoft SQL Server)都可在客户端应用程序执行更新、插入或删除操作时为事务提供锁定、日志记录和事务管理功能,以此来支持事务。

注意注意

如果锁定持续时间过长,则涉及多个资源的事务可能会降低并发性。因此,事务应尽量保持简短。

如果一个事务涉及同一个数据库或服务器中的多个表,则存储过程中的显式事务通常可以更好地执行。 您可以通过使用 Transact-SQL BEGIN TRANSACTION、COMMIT TRANSACTION 和 ROLLBACK TRANSACTION 语句在 SQL Server 存储过程中创建事务。 有关更多信息,请参阅“SQL Server 联机丛书”。

涉及不同资源管理器的事务(如 SQL Server 和 Oracle 之间的事务)需要分布式事务。

本节内容

请参见

概念

DbProviderFactory (ADO.NET)

其他资源

Transaction Fundamentals

连接到数据源 (ADO.NET)

命令和参数 (ADO.NET)

DataAdapter 和 DataReader (ADO.NET)