0 0

sql server 无法提交事务5

set xact_abort on
go
begin tran

declare @strXml varchar(max),
        @idoc int
set @strXml = '<a>sss</a><b/>'
begin try
    exec sp_xml_preparedocument @idoc output, @strXml
    ......
end try
begin catch
    insert into output_log values('出错了',getdate())
    COMMIT TRAN
end catch
GO

 我须要在出错之后将错误信息插入到表中,但执行时报如下错误:

当前事务无法提交,而且无法支持写入日志文件的操作。请回滚该事务。


请问有没有解决方法?

2010年3月03日 13:28

1个答案 按时间排序 按投票排序

0 0

你这个是不是写的触发器。触发器本身就是一个单独的事物。不能在它里面commit 。 这样原因会出现你的情况。

2010年3月12日 12:21

相关推荐

    SQLServer存储过程中事务的使用方法

    如果所有操作成功,使用`COMMIT TRANSACTION`提交事务;如果有任何错误,使用`ROLLBACK TRANSACTION`回滚事务,以保持数据的一致性。 ```sql if (@error &lt;&gt; 0) begin rollback transaction return -1 -- 操作...

    SQL Server 2000完结篇系列之三:数据并发-彻底掌握SQL Server 2000事务机制

    SQL Server 2000支持三种事务模式:自动提交事务、显式事务和分布式事务。 1. 自动提交事务:这是默认的事务模式,每条SQL语句都作为一个单独的事务执行。一旦语句成功,事务就会提交;如果出现错误,事务则回滚。 ...

    浅谈SQL Server中的事务日志(一)----事务日志的物理和逻辑构架 .docx

    SQL Server中的事务日志是数据库管理系统的关键组成部分,它在确保数据的持久性和事务一致性方面扮演着核心角色。事务日志的物理结构主要由虚拟日志文件(Virtual Log Files, VLFs)组成,这些文件是日志文件的逻辑...

    sql server 事务处理

    2. **COMMIT TRANSACTION**:提交事务,表示事务成功完成。所有在事务开始后执行的操作都将被永久保存。 3. **ROLLBACK TRANSACTION**:如果在事务过程中发生错误或需要撤销所有操作,可以使用ROLLBACK命令。这将...

    SQL server中的事务

    在SQL Server中,当事务操作完成并且数据一致性得到保证后,需要使用COMMIT语句来提交事务,这样事务中所做的更改才会被永久保存。如果在执行事务过程中遇到错误,可以使用ROLLBACK语句来回滚事务,撤销到事务开始...

    SQLServer事务日志压缩与删除的方法

    执行上述任一命令后,系统会将日志中的未提交事务清空,从而达到压缩日志的目的。 **步骤二:** 在备份并清空事务日志后,可以通过以下命令来收缩数据库文件,进一步节省磁盘空间。 1. **收缩整个数据库的数据和...

    sqlserver2000事务问题.txt

    在 SQL Server 2000 中,`AutoCommit` 是一种默认的行为模式,表示每条 SQL 语句执行后都会自动提交事务。这种方式对于简单的读取或单一更新操作来说非常方便,但不适合复杂的事务处理场景。 - **禁用 AutoCommit ...

    事务管理(二)——SQL SERVER的事务管理

    SQL Server提供了四种事务隔离级别:读未提交(Read Uncommitted)、读已提交(Read Committed)、可重复读(Repeatable Read)和串行化(Serializable)。不同的隔离级别对应不同的并发控制策略,例如,读未提交...

    SQL Server -事务和游标

    在SQL Server数据库管理系统中,事务和游标是两个非常重要的概念,它们对于数据操作和处理具有深远的影响。本文将深入探讨这两个主题,并解释如何利用它们解决日常数据库管理中遇到的复杂问题。 首先,我们来谈谈...

    Sql Server数据库事务介绍

    SqlTransaction是Sql Server提供的一种事务机制,可以手动控制事务的提交和回滚。例如: ```csharp using (SqlConnection conn = new SqlConnection("Data Source=(local);Initial Catalog=TransTestDb;Integrated ...

    SQLServer 视图 事务 索引

    SQL Server中的视图、事务和索引是数据库管理中的核心概念,它们各自扮演着重要的角色,帮助用户更高效、安全地操作和查询数据。 视图,作为数据库的一种抽象,是基于一个或多个表的SELECT查询结果集的逻辑表示。在...

    SQLserver锁和事务隔离级别的比较与使用[定义].pdf

    SQL Server 中有四种事务隔离级别:未提交读、提交读、可重复读和串行化。 未提交读是最低的隔离级别,在这个级别下,事务可以读取其他事务未提交的数据。这可能会导致脏读、不可重复读和幻像读问题。 提交读是 ...

    浅谈SQL Server中的事务日志(三)----在简单恢复模式下日志的角色 .docx

    ### SQL Server中的事务日志——在简单恢复模式下的角色 #### 事务日志的重要性与功能 在探讨SQL Server中事务日志在简单恢复模式下的作用之前,我们需要先明确事务日志的基本概念及其重要性。 **事务日志**是SQL...

    浅谈SQL Server中的事务日志(四)----在完整恢复模式下日志的角色.docx

    ### SQL Server中的事务日志:在完整恢复模式下的角色 #### 事务日志的重要性 SQL Server中的事务日志是确保数据库事务正确性和持久性的关键组件。事务日志不仅支持事务的回滚,还保证了事务的ACID特性,即原子性...

    SQL Server事务基本使用方法

    1. **自动提交事务**:默认情况下,每条SQL语句都被视为一个独立的事务,每执行完一条语句后,系统自动提交事务。 2. **显式事务**:用户通过`BEGIN TRANSACTION`显式开启事务,并通过`COMMIT`提交事务或`ROLLBACK`...

    C#调用SQL Server事务的简单实例

    5. 如果所有操作成功,提交事务(SqlTransaction的Commit方法);如果出现错误,回滚事务(Rollback方法)。 6. 关闭并释放所有资源。 示例代码: ```csharp using (SqlConnection connection = new SqlConnection...

    Delphi SQLSERVER事务处理应用例子

    在 Delphi 这样的集成开发环境中,与 SQL Server 数据库进行交互时,事务处理尤为重要。本篇将深入探讨 Delphi 配合 SQL Server 实现事务处理的相关知识点,并通过实例来演示如何在 Delphi 应用程序中运用。 首先,...

    sql server优化事务处理

    SQL Server的事务处理是数据库操作中的关键环节,关系到系统的性能、稳定性和数据一致性。以下是一些关于SQL Server优化事务处理的详细知识点: 1. **事务的隔离级别**:默认的TIL(Read Committed)隔离级别下,...

    sql server 2000作业提交与审阅系统

    这个“SQL Server 2000作业提交与审阅系统”是一个综合性的数据库应用实例,涵盖了数据库设计、事务处理、权限控制、报表生成等多个方面,对于学习和理解SQL Server 2000的使用和数据库系统开发具有很高的实践价值。...

    SQL Server 的事务和锁

    SQL Server的事务和锁是数据库管理系统中至关重要的概念,它们保证了数据的一致性和完整性,为多用户环境下的并发操作提供了保障。以下是对这些主题的详细解析: **SQL事务** SQL事务是数据库操作的基本单元,它...

Global site tag (gtag.js) - Google Analytics