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

推荐订阅源

T
The Blog of Author Tim Ferriss
Hugging Face - Blog
Hugging Face - Blog
F
Fortinet All Blogs
B
Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Microsoft Security Blog
Microsoft Security Blog
Blog — PlanetScale
Blog — PlanetScale
月光博客
月光博客
腾讯CDC
小众软件
小众软件
G
Google Developers Blog
V
Visual Studio Blog
罗磊的独立博客
GbyAI
GbyAI
V
V2EX
大猫的无限游戏
大猫的无限游戏
H
Help Net Security
L
LangChain Blog
Engineering at Meta
Engineering at Meta
量子位
The GitHub Blog
The GitHub Blog
博客园 - 司徒正美
WordPress大学
WordPress大学
B
Blog RSS Feed

博客园 - 投石问路

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