惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

GbyAI
GbyAI
Jina AI
Jina AI
月光博客
月光博客
博客园_首页
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
IT之家
IT之家
Hugging Face - Blog
Hugging Face - Blog
T
Tailwind CSS Blog
V
Visual Studio Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
大猫的无限游戏
大猫的无限游戏
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
阮一峰的网络日志
阮一峰的网络日志
量子位
博客园 - 【当耐特】
The Cloudflare Blog
宝玉的分享
宝玉的分享
博客园 - 聂微东
博客园 - 叶小钗
美团技术团队
G
Google Developers Blog
人人都是产品经理
人人都是产品经理
博客园 - Franky
小众软件
小众软件

博客园 - 投石问路

ASP做贝宝(paypal)支付接口(推荐)[转] - 投石问路 - 博客园 asp paypal接口处理 - 投石问路 - 博客园 Asp.Net 学习资源列表 推荐几个.NET开源图表组件 [SQLServer2005]ADO.NET2.0中的查询通知 SQL数据缓存依赖 [SqlServer | Cache | SqlCacheDependency ] -- [转] 讲解SQL 2000的Collection排序规则 (3)[转] 讲解SQL 2000的Collection排序规则 (2)[转] 讲解SQL 2000的Collection排序规则 (1)[转] IIS出现server application error,解决方案一 C#动态获取当前屏幕中光标所在位置的颜色 Excel开发(VSTO2005):简化工作表中选定区域的操作。[轉載] .NET 2.0 CER学习笔记 [转载] 格式化类型连接地址 FLV Flash video streaming with ASP.NET 2.0, IIS and HTTP handler [转载] ASP.NET 视频截图功能的C#代码[转载] NET 2.0(C#)调用ffmpeg处理视频的方法 利用Mencoder转换视频格式[转载] FLV播放器 源码二例[转载]
机器克隆会导致DTC进程堵死
投石问路 · 2009-06-05 · via 博客园 - 投石问路

如果你的机器改过名字,或者使用克隆,或者使用任何虚机来作测试(我们往往安装一台虚机然后拷贝多份,改名使用),都会碰到包含事务的调用长时间挂起问题。解法也如下所示。
通过更详细的分析发现:
1.应用服务器和本关数据库之间的DTC联系有问题,使用DTCTester软件在应用服务器上测试,发现分布式交易会锁死当前的进程。
2.分析Dump文件发现,出现锁死线程的调用栈和已知两种故障的调用栈一致。
a.机器改名后使用DTC。
b.克隆的机器使用DTC。
3.问题的原因在于,当某DTC发现远端的DTC和自己的机器出现相同的CID的时候,将报错。但是DTC在目前版本有一个Bug,报错后会留下一个锁没有释放,造成线程挂起。COM+ rollup 28里解决了这个Bug。目前我们是Rollup 26.
4.询问出现过问题的客户,确实其所有机器都是克隆而来。
5.但是,即使报错也不能解决问题,因为装好的机器的CID不会因为改名而重装。需要重新安装每台机器的DTC。
6.安装步骤如下:
重装DTC请严格按照以下步骤,否则只有重新格式化磁盘,重装系统才能解决问题。
1.将除了下表的服务以外的其他服务设定为手工启动:
Alerter
COM+ Event System
Computer Browser
Distributed File System
Distributed Link Tracking Client
Distributed Link Tracking Server
DNS Client
Event Log
IPSEC Policy Agent
License Logging Service
Logical Disk Manager
Messenger
Net Logon
NT LM Security Support Provider
Network Connectors
Plug and Play
Remote Procedure Call (RPC)
Remote Procedure Call (RPC) Locator
Removable Storage
Security Accounts Manager
Server
System Event Notification
Task Scheduler
TCP/IP NetBIOS Helper Services
Windows Management Instrumentation
Windows Management Instrumentation Driver Extensions
Windows Time
Workstation
2.重新启动机器
3.卸载DTC
打开命令行窗口执行
msdtc -uninstall
4.删除一些注册表项
运行regedit
删除以下项目
HKEY_CLASSES_ROOT\CID
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSDTC
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\MSDTC
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\MSDTC
HKEY_LOCAL_MACHINE\Software\Microsoft\MSDTC
5.在<%WINDIR%>\System32目录下执行Dtcsetup.exe
6.等待出现安装成功的对话框,点击OK
7.将第一步设为手工启动的服务改会原来的状态。
8.重启机器
9.在命令行窗口执行
msdtc -resetlog
重装完毕。

原文出处:http://www.cnblogs.com/dahuaidan410/archive/2004/04/21/6788.html