请教大家分布式问题(紧急) 我在一个事务内调用了对链接服务器的查询的存储过程A,存储过程A内也使用了事务对链接服务器查询,有些业务数据可以执行成功,但是有时候报错:OLE DB 提供程序 'SQLOLEDB' 无法启动分布式事务错误,只是偶尔报错,大部分是执行成功的。请教大家是什么问题啊,谢谢先了!!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 SET XACT_ABORT--指定当 Transact-SQL 语句产生运行时错误时,sql server自动回滚当前事务。加它试试,看是否那些出错语句在某些时候执行会有问题 肯定是存储过程执行中出现了错误,嵌套的事务出错会回滚到最外层的事务,可想而知为什么报错了。建议仔细检查就存储过程。另外有个方法你可以试试,在存储过程启用事务时,保存事务点,用try catch<应该是sql2005吧>捕获异常,然后回滚到保存的事务点XACT_ABORT设置完要恢复默认的设置 SQL2005新增会话状态--失败的事务,该事务不可提交,但可保持原有资源上的锁。设置SET xact_abort on时,不管是不是服务器错误,都会中断事务,并将事务状态为失败的事务, 根据,XACT_STATE()函数返回-1表示该状态(1.活动事务且可提交 -1.活动事务但不可提交即失败的事务 0.没有活动事务),记住SET xact_abort on后要将xact_abort设置回off 那么请教一下如果提交分布式事写begin tran;而不是begin distributed tran会有什么错误么? 怎么查询约束的内容? MSSQLSERVER服务器突然无法启动服务了,如何解决。错误信息为: 高手来帮忙解答 如何在存储过程李接受传入的表名和列名?怎样把查询结果赋给一个变量? 怎样查看触发器inserted表中的数据? 恢复数据库怎么这么悲情? 数据库转移问题,邹键请看一下吧,上次你告诉我的我TRY有点问题,请再帮忙看一下 谁能给提供一个事物的存储过程? 请问SQL报这个错误是什么意思 sql server7.0是否可以在win2000和winnt4.0之间进行出版与订阅 请教:这句SQL该如何写 数据库中记录排序的问题
--指定当 Transact-SQL 语句产生运行时错误时,sql server自动回滚当前事务。加它试试,看是否那些出错语句在某些时候执行会有问题
建议仔细检查就存储过程。
另外有个方法你可以试试,在存储过程启用事务时,保存事务点,用try catch<应该是sql2005吧>捕获异常,然后回滚到保存的事务点
XACT_ABORT设置完要恢复默认的设置
失败的事务,该事务不可提交,但可保持原有资源上的锁。
设置SET xact_abort on时,不管是不是服务器错误,都会中断事务,并将事务状态为失败的事务,
根据,XACT_STATE()函数返回-1表示该状态
(1.活动事务且可提交 -1.活动事务但不可提交即失败的事务 0.没有活动事务),
记住SET xact_abort on后要将xact_abort设置回off
而不是begin distributed tran
会有什么错误么?