事务使用时MSDTC不可用解决办法

简介:
 

在使用Linq对多表进行插入的时候,使用了TransactionScope

using (TransactionScope scope = new TransactionScope())
{
       BLL.R_Paper_QbankBLL.DeleteByPaperId(pid);
       BLL.M_Test_PapeBLL.Delete(pid);
       scope.Complete();
}
JsHelper.Alert("删除成功", this);

使用时提示“MSDTC不可用”,这是怎么回事呢?

 

MSDTC(分布式交易协调器),协调跨多个数据库、消息队列、文件系统等资源管理器的事务。该服务的进程名为Msdtc.exe,该进程调用系统Microsoft Personal Web Server和Microsoft SQL Server。该服务用于管理多个服务器 。


位置:控制面板--管理工具--服务--Distributed Transaction Coordinator
依存关系:Remote Procedure Call(RPC)和Security Accounts Manager
建议:一般家用计算机涉及不到,除非你启用Message Queuing服务,可以停止。


解决办法:

方法1. 在windows控制面版-->管理工具-->服务-->Distributed Transaction Coordinator-->属性-->启动
方法2. 在CMD下运行"net start msdtc"开启服务后正常。





注:如果在第1步Distributed Transaction Coordinator 无法启动,则是因为丢失了日志文件,重新创建日志文件,再启动就行了。重新创建 MSDTC 日志,并重新启动服务的步骤如下:
(1) 单击"开始",单击"运行",输入 cmd 后按"确定"。
(2) 输入:msdtc -resetlog (注意运行此命令时,不要执行挂起的事务)
(3) 最后输入:net start msdtc 回车,搞定!

 

参考地址:http://blog.csdn.net/bobwu/archive/2009/07/30/4392616.aspx

目录
相关文章
|
10天前
|
SQL 关系型数据库 MySQL
mysql主从同步出错解决办法
mysql主从同步出错解决办法
7 0
|
关系型数据库 MySQL Windows
MySQL启动时显示:发生系统错误 5。拒绝访问解决办法
MySQL启动时显示:发生系统错误 5。拒绝访问解决办法
MySQL启动时显示:发生系统错误 5。拒绝访问解决办法
|
固态存储 Linux
systemback慎用:安装后无法启动
systemback慎用:安装后无法启动
221 0
|
存储 安全 Windows
SqlServer & Windows 可更新订阅立即更新启用分布式事务协调器(MSDTC)
原文:SqlServer & Windows 可更新订阅立即更新启用分布式事务协调器(MSDTC) 在可更新订阅中,在订阅设置更新方法,将 “排队更新” 设置为 “立即更新” 接着在订阅数据库更新表数据,出错: 消息 21079,级别 16,状态 1,过程 sp_getpublisherlink,第 52 行 没有发布服务器的 RPC 安全信息,或该信息无效。
1614 0
|
关系型数据库 MySQL 数据库
|
安全 Java Windows