`

SET XACT_ABORT

 
阅读更多
   存储过程:SET XACT_ABORT ON选项可防止将会话中每一条语句所影响的行数消息发回给请求的客户机


SET   XACT_ABORT
指定当   Transact-SQL   语句产生运行时错误时,Microsoft®   SQL   Server™   是否自动回滚当前事务。

语法
SET   XACT_ABORT   {   ON   |   OFF   }

注释
当   SET   XACT_ABORT   为   ON   时,如果   Transact-SQL   语句产生运行时错误,整个事务将终止并回滚。为   OFF   时,只回滚产生错误的   Transact-SQL   语句,而事务将继续进行处理。编译错误(如语法错误)不受   SET   XACT_ABORT   的影响。

对于大多数   OLE   DB   提供程序(包括   SQL   Server),隐性或显式事务中的数据修改语句必须将   XACT_ABORT   设置为   ON。唯一不需要该选项的情况是提供程序支持嵌套事务时。有关更多信息,请参见分布式查询和分布式事务。  

SET   XACT_ABORT   的设置是在执行或运行时设置,而不是在分析时设置
分享到:
评论

相关推荐

    SQL事务设置SET XACT_ABORT后正确回滚

    SET XACT_ABORT { ON | OFF }  当 SET XACT_ABORT 为 ON 时,如果 Transact-SQL 语句产生运行时错误,整个事务将终止并回滚。为 OFF 时,只回滚产生错误的 Transact-SQL 语句,而事务将继续进行处理。编译错误(如...

    第八次作业1

    但在本题中,使用了`SET XACT_ABORT ON`命令,这意味着如果在事务中发生错误,整个事务会被立即终止,并自动回滚,而不是只回滚到错误发生时的状态。因此,当`T4`中的插入操作因主键冲突失败时,由于`XACT_ABORT`...

    在存储过程中编写正确的事务处理代码(SQL_Server_2000_.doc

    1. **启用XACT_ABORT**:通过在事务开始前使用`SET XACT_ABORT ON`,可以确保在遇到错误时,整个事务会被回滚,而不是仅回滚出错的语句。这可以防止意外的后续操作。 ```sql SET XACT_ABORT ON; BEGIN TRAN UPDATE...

    SQL 分布式交互

    SET XACT_ABORT OFF -- 关闭事务异常处理 ``` 通过上述配置步骤,可以有效地解决不同服务器和不同数据库之间的数据互通问题,实现数据的有效交换和同步。 #### 五、总结 SQL分布式交互技术在多服务器、多数据库...

    SQL2000 事务回滚问题探讨

    代码如下: create procedure test_tran as set xact_abort on —–用@@error判断,对于严重的错误,系统根本就不会执行随后对@@error的判断,会直接终止执行。所以设置set xact_abort on 是必要的 BEGIN TRANSACTION...

    浅析SQL Server中包含事务的存储过程

    先来看一个概念:  数据库事务(Database Transaction) ,是指作为... Set XACT_ABORT ON; --使用存储过程执行事务需要开启XACT_ABORT参数(默认为OFF)  delete from table1 where name='' --删除数据sql1  begin tra

    MS DTC配置,ATL,COM

    在开始事务的语句前添加`set xact_abort ON`,这可以确保在大多数OLE DB提供程序(包括SQL Server)中,即使发生错误,事务也会被回滚,避免数据不一致。 #### 5. MSDTC安全配置 在“组件服务”中,找到“我的电脑...

    SQL 添加触发器

    - `SET XACT_ABORT ON`:设置事务异常选项,如果事务中的任何语句失败,则整个事务将回滚。 3. **条件检查**: - `IF EXISTS (SELECT 1 FROM inserted) AND NOT EXISTS (SELECT 1 FROM deleted)`:检查是否有行被...

    事务与锁的详细介绍与学习

    - `SET XACT_ABORT ON/OFF`用于控制SQL错误时的事务处理方式。ON时,任何SQL错误会导致整个事务回滚;OFF时,仅回滚出错的SQL语句,其他语句仍继续执行。 4. **事务隔离级别**: - **READ UNCOMMITTED**:最低...

    SQL Server存储过程中编写事务处理的方法小结

    当设置`SET XACT_ABORT ON`时,如果在事务中的任何语句出现错误,SQL Server将自动回滚整个事务,并终止执行。这有助于避免因错误导致的部分事务提交。例如: ```sql SET XACT_ABORT ON; BEGIN TRAN UPDATE ...

    SQL SERVER 2005 新增的几个小功能

    SET XACT_ABORT ON; -- 打开try功能 BEGIN TRY BEGIN TRAN; INSERT INTO Sys_DocClass VALUES (); -- 数据表操作语句 COMMIT TRAN; -- 提交事务 PRINT 'Commited'; END TRY BEGIN CATCH ROLLBACK TRAN; -- 回滚...

    SQL Server 跨库同步数据

    否则,如果在执行过程中遇到错误,由于`SET XACT_ABORT ON`设置,事务将被自动回滚,防止不完整或不一致的数据被写入目标表。 在实际应用中,这种跨库同步数据的方法可能会结合SQL Server代理作业定期执行,以实现...

    无限极分类文档,存储过程

    SET XACT_ABORT ON; BEGIN TRANSACTION; UPDATE Category SET parent_id = @targetId WHERE id = @sourceId; COMMIT; END ``` **4. 获取节点的父节点:** ```sql CREATE PROCEDURE GetParentNode @nodeId...

    SQLServer2005 不同服、不同库的数据库同步

    SET XACT_ABORT ON; BEGIN DISTRIBUTED TRAN; DECLARE @a nCHAR(40); SET @a = (SELECT a FROM inserted ); DECLARE @b nCHAR(40); SET @b = (SELECT b FROM inserted ); INSERT INTO A.gu1.dbo.b1 (a, b) ...

    SQL SERVER事务处理详解.doc

    `SET XACT_ABORT`是一个非常有用的设置,它决定了当Transact-SQL语句遇到运行时错误时,是否自动回滚整个事务。如果设置为ON,任何错误都会导致事务回滚,这对于确保数据一致性非常有用,特别是在存储过程中。 例如...

    SQL Server 2005新功能-TSQL的描述

    SET XACT_ABORT ON选项可以开启事务的自动回滚,确保在发生错误时事务得到正确处理。 5. **公用表表达式(Common Table Expressions, CTE)**: CTE提供了一种创建临时结果集的方式,而无需使用临时表或视图。它们...

    sql server 事务处理

    6. **SET XACT_ABORT ON/OFF**:设置此选项可以控制当语句引发错误时事务的行为。默认情况下,ON会回滚整个事务,OFF则只影响引发错误的语句。 7. **事务隔离级别设置**:如`SET TRANSACTION ISOLATION LEVEL`命令...

Global site tag (gtag.js) - Google Analytics