【转】如何解决系统事件出现DCOM 10009错误?
2012-08-30 15:12
435 查看
如何解决系统事件出现DCOM 10009错误?
症状:我们有时在系统事件中会遇到DCOM 10009的错误(如下所示),或者会在DCOM客户应用程序中接收到错误代码0x800706ba:
Event Type: Error
Event Source: DCOM|
Event Category: None
Event ID: 10009
Date: 2010-2-22
Time: 10:02:07
User: N/A
Computer: <Computer Name>
Description:
DCOM was unable to communicate with the computer <Target Computer Name> using any of the configured protocols.
Simply speaking, DCOM 10009 indicates that the DCOM client located on this <Computer Name> can't communicate with the DCOM|COM+ server located on that <Target Computer Name>.
发生过程:
当用户调用CoGetClassObject或者CoCreateInstance(CreateObject或者在VB中 new)来启用一个组件的时候, COM runtime会联系它的本地SCM COM的启用者(PRCSS服务),登陆相应的提供这个组件的COM服务器。
如果这个组件是远端的,本地的RPCSS服务会把请求传输给远端机器上的RPCSS服务。
但是如果远端服务器的RPCSS服务不可用的话,DCOM 10009会出现并通知管理员,调用栈内容如下所示:
ChildEBP RetAddr
006df364 757f8b72 ADVAPI32!ReportEventW-> then DCOM 10009 is logged.
006df3a0 757f6542 rpcss!LogRemoteSideUnavailable+0x63 ->here we don't found the server.
006df40c 757f6781 rpcss!CRemoteMachine::Activate+0x294
006df648 757f6861 rpcss!RemoteActivationCall+0xf2
006df664 757edb5c rpcss!ActivateRemote+0x8e
006df6c0 757d629c rpcss!Activation+0x343
006df718 757d7680 rpcss!ActivateFromProperties+0x1c2
006df724 757d76c0 rpcss!CScmActivator::CreateInstance+0xd
...
...
发生原因:
概括说来,发生DCOM 10009错误的原因在于:本地RPCSS服务不能连接到远端目的服务器的RPCSS服务。有几种情形造成这种情况的出现:
1. 远端的目的服务器可能出于offline的状态,例如可能是在维护。
2. 双方服务器都出于online的状态,但是在两个服务器的PRC通信出现问题,例如服务器名称解析失败,可提供RPC通信的端口资源耗尽,防火墙配置等等。
解决方法:
正如上文所提到的, 引起DCOM 10009出现有着很多可能性,我们 需要针对不同的情形来做不同的处理:
情形1:
如果远端的服务器是处于维护阶段, DCOM 10009的出现是正常的,我们可以通过ping <远端服务器>来确认远端服务器状态。
情形2:
如果远端服务器是处在online的状态却仍然出现DCOM 10009的话,请执行以下步骤:
1. Ping<远端服务器>和IP地址来确认网络状况良好。
2. Telnet<远端服务器>135以确认Port 135没有被防火墙阻止。
3. 如果已经配置过PRC通信的动态端口, 可以通过以下命令来两个服务器的端口资源:Netstat -anb
如果所有的动态端口都在被使用了,或者只有很少可用,可以考虑扩展动态端口。
关于如何配置与防火墙一起使用的 RPC 动态端口分配请参考:http://support.microsoft.com/?id=154596
关于DCOM端口范围配置问题请参考:http://support.microsoft.com/kb/217351/en-us
4. 如果以上步骤都正常, 可以使用DTCPing工具来确认两个服务器之间的DCOM通信是否正常。
关于如何使用DTCPing工具来解决MS DTC中的连接问题请参考:
http://support.microsoft.com/kb/918331/en-us
注意:DTCPing工具并非专门指用来解决MSDTC问题的,这个工具可以用来解决所有DCOM通信问题。
相关文章推荐
- 安装SQL Server2005时,出现“对性能监视器计数器注册表值执行系统配置检查失败”的错误,如何解决?
- 如何解决NET TIME出现系统错误5,拒绝访问
- 如何解决在Windows Server 2008 R2 上安装证书服务重启后出现 CertificationAuthority 91错误事件
- 如何解决在Windows Server 2008 R2 上安装证书服务重启后出现 CertificationAuthority 91错误事件
- 在安装office2003时,出现"安装程序包的语言不受系统支持"的错误,如何解决?
- 技术QA:如何解决在Windows Server 2008 R2上安装证书服务重启后出现 CertificationAuthority 91错误事件? 推荐
- mac 系统下anaconda安装第三方包出现各种错误如何解决
- 一点通- 如何解决Windows 7 出现错误讯息【您的帐户已经停用,请洽询您的系统管理员】?
- 如何解决NET TIME出现系统错误5,拒绝访问
- 2003系统出现:HTTP 错误 401.1 - 未经授权如何解决?
- 如何解决win10系统更新出现错误代码0x80070057
- 2003系统出现:HTTP 错误 401.1 - 未经授权如何解决?
- 如何解决DbUnit的Maven插件在执行过程中出现的侵犯外键约束错误(MySQLIntegrityConstraintViolationException)
- 关于hive里安装mysql出现错误,如何删除指定的主机或用户?(解决Access denied)
- RHEL启动时,提示文件系统出现错误的解决办法
- 跟后台打印程序系统服务通讯时出现错误 事件ID:1114
- 关于多文档MFC从xp系统上移植到win7上出现错误的问题解决经验
- 解决XP 系统 .Net Framework 4安装时出现严重错误 (0x80070643)
- 解决mysql建立事件时出现 “Cannot proceed because system tables used by Event Scheduler were found damaged at server start” 的错误
- Android N加载系统私有库时出现is not accessible for the namespace错误和针对该错误的解决方法