出现9646错误日志,一般情况下由于打开过多的连接导致的。在Exchange 2003 SP1,对单个邮箱来说,最大的MAPI会话数量为32,如果会话数量超过32的话,您将无法建立新的MAPI会话到您的邮箱。根据我的研究,您可以尝试通过下面的方法来修复:
1、假设您有无线网络和LAN,在相互切换之前,请先关闭Outlook;
2、在Exchange 服务器上设置下面的注册表键值:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParametersKeepAliveTime
该值的范围为1 到7,200,000 ,建议设置为 300,000 (5 mins),缺省值为7,200,000 (2 hours)
3、将下面的注册表键值设置为1,
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesMSExchangeISParametersSystem
Value: Disable Session Limit
4、重启。
5、观察结果如何。
内部局域网邮箱,使用的是EXCHANGE SERVER。一客户机登陆邮箱时提示无法连接EXCHANGE SERVER服务器,错误号为0x8004011D。据用户说,该机前几天能正常收发信件,只是有几天没有登陆,今天就出现不能收发邮件的情况。
邮箱不能收发信件在我们这里时常发生,但大多数都是因为设成了脱机状态,才致使无法收发信件。所以,当有人说不能收发信件时,我都会告诉他们,将脱机使用的对勾取消就成了。
为何有如此多的人都会处在脱机状态呢?我观察了一下,原来,如果操作者输入密码不正确时,OUTLOOK会自动转入脱机状态,但大多数人又不仔细观察,只有到发信时才能发现不能收发信件。
所以,当今天又有人说不能收发信件时,我自然也是叫其取消那个对勾。可是,对勾取消了还是无法连接。
除了右下角挂着一个“已断开”的提示外,outlook没有给出其他的提示信息。是何原因我一时也判断不出来。我只好去点“发送/接收”按纽,以便看看到底出现了什么错误。
信息返回来了,发送操作正常,没有出现错误信息,我估计是因为发件箱本身没有信件,实际并没有发送,所以显示正常。接收操作出现了0x8004011D错误,说是“服务器不可用,若情况依旧,请与系统管理员联系。”云云。
这个我似曾相识,应该是在网上闲逛时见过相关的文章,于是,操起鼠标又来百度。东西是找了不少,看来遇到这种情况的人也有一些,但能解决问题的似乎不多,但有人提到了这可能是RPC的问题,而且所涉及的注册表分支应该是HKEY_LOCAL_MACHINESOFTWAREMicrosoftRpcClientProtocols,立即进入注册表,打开这个分支,与其他正常收发邮件的电脑进行对比,发现这台不能正常收发邮件的机器,HKEY_LOCAL_MACHINESOFTWAREMicrosoftRpcClientProtocols分支下竟然是空的,而正常机器却有以下注册项:
名称 值
ncacn_np rpcrt4.dll
ncacn_ip_tcp rpcrt4.dll
ncadg_ip_udp rpcrt4.dll
ncacn_http rpcrt4.dll
看来就是这个问题了,首先搜索一下有没有 rpcrt4.dll这个文件。看到这个文件就躺在windowssystem32文件夹下,我立即在ClientProtocols下按上表新建了注册项,填入值重启后,OUTLOOK就能正常地收发信件了。
问题解决了,但这种情况是如何造成的?我不得而知。电脑的主人对注册表根本就没有概念,更不要说去修改注册表了。是电脑病毒造成的?还是杀毒软件造成的?也可能是哪个优化软件造成的?看来那些所谓的优化软件的嫌疑比较大。但具体是什么原因,我没有寻找,所以不能妄下结论。
笔者的计算机是outlook是一条专线,因为考虑的安全性的问题,通过拨号连接上的网。平时基本上是断开的。只有使用的时候才使用。一次偶然的测试,也可以解决这个问题。前提是如果你觉得上述方法比较烦琐的情况下。先断网,重启机器 。启动sql服务,连接网络,连接成功。