xact-abort

    3热度

    1回答

    我理解SET XACT_ABORT命令的目的: 当SET XACT_ABORT为ON时,如果一个Transact-SQL语句产生 运行时错误,整个交易被终止并回滚。 当SET XACT_ABORT为OFF时,在某些情况下,只有导致错误的Transact-SQL 语句回滚并且事务 继续处理。根据错误的严重程度,即使SET XACT_ABORT为OFF,整个事务也可能会回滚。 OFF是默认设置。 在一

    4热度

    1回答

    我用在SQL Server中使用我的存储过程中的代码片段: create procedure proc_name --declare variables as set nocount on begin transaction begin try --do something commit transaction end t

    0热度

    1回答

    我有一个过程,它是整理以下 BEGIN TRY BEGIN TRAN ...transactins A.... BEGIN TRY .... Transaction B .... END TRY BEGIN CATCH .... Set variables and print messages .... END CATCH ....

    2热度

    3回答

    我有一个更大的存储过程,它利用几个TRY/CATCH块来捕获和记录单个错误。我还在程序的整个内容中包装了一个事务,以便在出现错误时为了防止大量乱糟糟的清理而在整个事件中回滚整个事件。 XACT_ABORT已启用,否则它不会回滚整个事务。 关键组成部分: 有一个在我的数据库中的表,获取每个该过程与上什么地方出了错操作和细节的结果运行时插入的记录。当我终于弄清楚什么是错误的时候,这是非常明显的....

    3热度

    1回答

    我有一个尝试catch块在我的sp只是一个插入语句在尝试。 catch检查错误代码是否是pk违规,如果是则更新。但有时我得到“当前事务不能提交,并且不能支持写入日志文件的操作,回滚事务 在批处理结束时检测到不可提交的事务,事务回滚。所以我添加了xact_abort,但随后我不断收到“EXECUTE后的事务计数表示BEGIN和COMMIT语句的数量不匹配。”我发现这一点。 http://www.as

    3热度

    2回答

    我正在尝试改进当前系统的错误处理以产生更多有意义的错误消息。我有一个“根”存储过程,可以对其他嵌套存储过程进行多次调用。 在根属,XACT_ABORT设置为ON但在嵌套过程,XACT_ABORT设置为OFF。我想捕获较低级别过程中的特定错误,而不是获取根过程的错误。 我经常看到的错误,uncommittable transaction is detected at the end of the b

    3热度

    1回答

    这种情况会发生什么? SET XACT_ABORT ON BEGIN TRANSACTION ---DO SOMETHING HERE THAT CAUSES AN ERROR COMMIT TRANSACTION if @@error != 0 raiserror('SP failed. Step 7.', 20, -1) with log GO 我的猜测是因为XA

    4热度

    1回答

    我的SQL Server 2008R2的流程场景: •通过USP来收集数据,然后将两个SQL Server之间传输数据 这个过程是要在该过程的所有各级与交易完成(USP,SSI和触发器) 在数据流传输的数据DB7.dbo.Dest,这个表有一个AFTER插入数据的触发器那刚刚通过进入决赛桌DB7.dbo.FinalDestination: CREATE TRIGGER [dbo].[Insert_