SQLServer 2008跨数据库实例事务处理_SQL SERVER数据库_黑客防线网安服务器维护基地--Powered by WWW.RONGSEN.COM.CN

SQLServer 2008跨数据库实例事务处理

作者:黑客防线网安SQL维护基地 来源:黑客防线网安SQL维护基地 浏览次数:0

本篇关键词:sql数据库sql教程
黑客防线网安网讯:托了几天的难题,终于解决了。特分享一下以下是一个存储过程CREATE PROCEDURE deleteAccountAll @id intASSET XACT_abort ONBEGIN DISTRIBUTED TRANdelete from AccountCapital where accou...

托了几天的难题终于解决了特分享一下

以下是一个存储过程

CREATE PROCEDURE deleteAccountAll
@id int
AS
SET XACT_abort ON
BEGIN DISTRIBUTED TRAN
delete from AccountCapital where accountid = @id
delete from logininfo where username = @id
delete from CapitalRecord where accountid = @id
delete from [Trade]..[order] where accountid = @id
delete from account where id = @id
if @@error<>0
rollback tran
else
  commit tran
GO

其中order表与其他几个表不在同一个数据库实例若想实现事务操作,具体要注意两点:

1.打开MSDTC服务,即 set XACT_abort on ,若本机没有启动,则运行 net start msdtc

2.对不同数据库实例的访问要注意用[数据库实例名]..[表名]

    黑客防线网安服务器维护方案本篇连接:http://www.rongsen.com.cn/show-10316-1.html
网站维护教程更新时间:2012-03-21 02:32:21  【打印此页】  【关闭
我要申请本站N点 | 黑客防线官网 |  
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479

footer  footer  footer  footer