适用于:SQL Server
Azure SQL 数据库
Azure SQL 托管实例
Microsoft Fabric 预览版中的 SQL 数据库
事务是单个工作单元。 如果某一事务成功,则在该事务中进行的所有数据修改均会提交,成为数据库中的永久组成部分。 如果事务遇到错误且必须取消或回滚,则所有数据修改均被清除。
SQL Server 以下列事务模式运行:
| 事务模式 | Description |
|---|---|
| 自动提交事务 | 每条单独的语句都是一个事务。 |
| 显式事务 | 每个事务都以语句显式启动 BEGIN TRANSACTION ,并显式以 COMMIT 或 ROLLBACK 语句结尾。 |
| 隐式事务 | 当前一个事务完成时,将隐式启动一个新事务,但每个事务都使用或COMMITROLLBACK语句显式完成。 |
| 批处理范围的事务 | 只能应用于多个活动结果集 (MARS),在 MARS 会话中启动的 Transact-SQL 显式或隐式事务变为批处理级事务。 在 SQL Server 自动回滚批处理完成时,未提交或回滚的批处理范围的事务。 |
有关数据仓库产品的特殊注意事项,请参阅 Fabric 数据仓库或事务中的事务(Azure Synapse Analytics)。
事务控制语法
SQL 数据库引擎提供以下事务语句: