Transactions (Transact-SQL)

适用于:SQL ServerAzure SQL 数据库Azure SQL 托管实例Azure Synapse Analytics分析平台系统 (PDW)Microsoft Fabric 预览版中的 SQL 数据库

事务是单个工作单元。 如果某一事务成功,则在该事务中进行的所有数据修改均会提交,成为数据库中的永久组成部分。 如果事务遇到错误且必须取消或回滚,则所有数据修改均被清除。

SQL Server 以下列事务模式运行:

Transaction mode Description
Autocommit transactions 每条单独的语句都是一个事务。
Explicit transactions 每个事务都以语句显式启动 BEGIN TRANSACTION ,并显式以 COMMITROLLBACK 语句结尾。
Implicit transactions 当前一个事务完成时,将隐式启动一个新事务,但每个事务都使用或COMMITROLLBACK语句显式完成。
Batch-scoped transactions 只能应用于多个活动结果集 (MARS),在 MARS 会话中启动的 Transact-SQL 显式或隐式事务变为批处理级事务。 在 SQL Server 自动回滚批处理完成时,未提交或回滚的批处理范围的事务。

有关数据仓库产品的特殊注意事项,请参阅事务(Azure Synapse Analytics 和 Microsoft Fabric)。

本部分内容

SQL Server 提供以下事务语句: