彻底解决“服务器没有事务处理”问题

想彻底解决“服务器没有事务处理”问题的同志请仔细阅读
自Windows 2000系统以后,微软就不再用NETBIOS来注册计算机名,也不再靠WINS对计算机名称进行解析,而是全部交付给了DNS。
那么Windows系统是如何通过以上名称注册和解析原理来实现在“网上邻居”上的浏览的呢?这就是要涉及到Windows系统中的一个非常重要的服务–Computer Browser Service(计算机浏览器服务)。  计算机浏览服务是一系列分布式的含有可用的网络资源列表,这些列表分布在一些计算机上,提出浏览请求的计算机充当浏览工作站,而提供浏览列表的计算机充当浏览服务器。
浏览器的种类及运行该服务的计算机为实现网络浏览目的而执行的各种职能介绍如下:
域主浏览器―――仅用于域环境。在默认情况下,域的主域控制器 (PDC) 完成该任务。 收集和维护域中可用服务器的主浏览列表,以及网络中其他域和工作组的名称。分配和同步其他子网中主浏览器的主浏览列表,该子网有属于相同域的计算机。
主浏览器 ―――收集和维护子网中可用网络服务器的主浏览列表。完全复制列出的包括主浏览列表的信息以获得网络的完整浏览列表。向同一子网上的备份浏览器分发完整列表。
备份浏览器―――从主浏览器接收本子网的浏览列表副本。根据请求向其他计算机分发浏览列表。
潜在浏览器―――在正常情况下,按非浏览器运行。在接到子网主浏览器指令后才会成为备份浏览器。
在某些条件下,如果担任指定浏览器职能的计算机失效或关闭,浏览器(或潜在浏览器)可能改作其他职能。这通常通过称作“浏览器选举”的过程来执行。在Windows操作系统的早期版本中浏览服务可理解为三个关键过程:
1)浏览信息的收集
当子网上的主浏览器收到主机声明后,将发送计算机的名称合并到当前的浏览列表中。如果名称已经存在,则刷新列表。如果名称不存在,则添加到列表。
(2)浏览信息的分发
浏览列表由子网主浏览器分发给备份浏览器。主浏览器必须周期性地向本地子网广播包含配置的域或工作组名称的声明消息。该消息确认主浏览器在网络上的存在。如果主浏览器在一段时间不能声明自己,则将发生浏览器选举。一旦主浏览器存在或(因失败事件而)被替换,其他备份浏览器周期性地与其联系以获得其所维护子网浏览列表的更新副本。
(3)向来自客户的浏览请求提供服务
当浏览客户计算机在子网上启动后,将向主浏览器请求在子网上备份浏览器的列表。主浏览器响应该请求并向客户端提供包含三个备份浏览器的列表。浏览客户端则随机地从列表中选择一个备份浏览器并与其联系以获得浏览列表副本。被选中的备份浏览器响应该客户机,给它一个域或工作组的服务器列表。客户机再从该服务器列表中取得这个服务器上的可用资源的列表。
浏览器选举
 在NT域环境下或工作组环境下,浏览服务维护着一个浏览列表,它包含所有可使用的域、工作组和计算机名等,是共享资源的目录。当我们使用“网上邻居”时,就在使用这个浏览服务。这些系统的浏览服务系统同样包含了主浏览器、备份浏览器和浏览器客户等角色。
 (1)选举是通过发广播来实现的,如果哪个计算机的选举条件比它收到的报文要好,则它将广播自己的选举条件,收到别人的选举条件后每个计算机根据自己在域中的角色延迟不等的时间后再做反应,这样能减少选举条件较差的计算机发送选举报文。  (2)当一个计算机选举成为主浏览器并且它的浏览列表是空时,它将广播一个请求通知的报文,强迫所有的计算机必须在30秒内给予答复,这个30秒的时间是为了防止服务器过载或报文丢失。  (3)除了承担主浏览器和备份浏览器任务的计算机外,其他计算机将向主浏览器周期性地发布通知,告知自己是可利用的资源。这个时间开始是1分钟、2分钟、4分钟、8分钟,以后就是每12分钟一次了。  (4)如果某个计算机关机了,主浏览器连续3个周期也就是36分钟没有收到它的消息,将认定它不可用,并从浏览列表中删掉它。但是它还留在备份浏览器的计算机里,备份浏览器每隔15分钟呼叫主浏览器一次以获得更新的网络资源列表,也就是说不可用的资源最多要等到36+15=51分钟后才会从网上彻底消失。这就是为什么有的计算机改了名,但旧名字依旧留在网上一段时间的原因。  在一个工作组里有一个主浏览器,那么在多个工作组、多个域甚至多个子网里中又将如何呢?这就需要一个域主浏览器,每个工作组或域的主浏览器要周期性地向这个域主浏览器发送自已所管辖的列表,这个周期开始是1分钟,5次后是15分钟。如果3个周期内没有收到这个报文,域主浏览器也将它从自己的列表中去除。也就是说,当一个工作组失效后,它还将在主列表中保留45分钟。域主浏览器默认为主域控制器,Windows XP Professional版本的计算机不能担此重任。当收到浏览列表后,计算机必须能解析里面的NetBIOS名,这就要求网络的WINS服务或DNS服务必须正常,浏览才能正常,因为浏览的选举过程是通过UDP广播实现的。 
作为网络管理员,当网上邻居出现问题时,要一步步分析,看是暂时的还是选举过程出了问题。目前没有办法证明浏览列表是否完整,但有办法发现某可用资源是否在列表里,甚至可以强迫开始一次选举。
注意:重启服务器上的COMPUTER BROWSER服务,打开服务器上的ipc$,确保客户端全部打开,在服务器端用“ping 客户端IP”逐一ping过来,确保可以全部ping通。如果客户端是win2000的话,也要重启一下COMPUTER BROWSER服务,
彻底解决方法的话,最好是建立一个域,由主域控制器来充当浏览服务是最理想的。

2 replies on “彻底解决“服务器没有事务处理”问题”

  1. dscao说道:

    现象:在同一工作组内的电脑不能互访,一打开“网上邻居”就是“服务器没有设置事务处理”!

    解决:1、IPC$共享由于各种原因被关闭或Workstation和server服务没启动
        这时,可以启用IPC$共享,启动Workstation和server服务;当然不少病毒亦会自动删除IPC$共享, 这时尝试升级最新病毒库,到完全模式下全面查杀病毒。(如是由于IPC$共享被删导致,而一时找不出何种原因导致,可在命令提示 符下执行net share ipc$来应付一下;可建一个以net share ipc$为内容的批处理文件放在“启动”中。
       2、没安装文件和打印共享服务
        请重新命名计算机,然后重新安装文件和打印共享服务,重新启动计算机。
       3、端口135、139、445被屏蔽
        检查网络防火墙的设置,确保以上端口没被屏蔽。
       4、不明程序导致
        何为不明程序,即是即使升级最新病毒库都无法查出是病毒,但的确是导致该错误出现的程序。最近在解决这类事件时,出现往 往都是由于一些未知程序导致的,这类程序杀毒软件查不出是病毒,而且在网上搜索找不到相关资料。这时可以用 HijackThis或icesword来查看进程中是否有可疑程序,发现有可疑程序,可以按程序名搜索硬盘,找到该程序,看其 属性中的“版本”一般能大概知道其是什么文件,如果无“版本”可查,一般该程序有问题的可能性就很大了;可中止该进程,把该程序 改名或删除,并在注册表中清除与其相关的项,然后重启计算机,看是否恢复正常;如恢复正常,即是该程序导致。

  2. dscao说道:

    访问网上邻居的计算机时,提示“服务器没有设置事务处理”,连接打印机的机器可以访问其它机器,但其它机器都不能访问连打印机的机器。网络共享打印无法使用。检查,发现原来默认的WIN共享都没有了,IPC$共享已被关闭,重启也不行。于是手工输入”net share ipc$”,网络打印恢复正常,可两分钟后又出现故障。估计是病毒, 用诺顿检查,发现病毒hacktool.rootkit , 感染文件是C:WINNTsystem32remon.sys, 进程中有异常进程sysmanager.exe运行,无法直接清楚remon.sys文件,查找不出sysmanager.exe,重启进入安全模式, 成功清楚renmon.sys文件,清楚注册表中的remon.sys项目,重启后故障依然存在。 查阅资料,此病毒会生成两个文件:
    文件1:C:WINNTsystem32remon.sys
    文件2:C:WINNTsysmanager.exe,原来此文件已隐藏,在windows中看不到,无法直接删除。用KillBox工具进行删除,文件路径手动填入,成功删除。remon.sys文件用KillBox工具直接删除文件,清除注册表里的remon.sys注册项,重启机器病毒删除。故障成功排除。

    除了hacktool.rootkit病毒会自动关闭IPC$共享以外, 还有以下两种情况, 在此列出, 仅供参考:
    1、svnidat32.exe文件的出现,注册表会有两项可疑项:
    HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun svnidat32=svnidat32.exe;
    HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRunservices svnidat32=svnidat32.exe;
    svnidat32.exe文件在c:winntsystem32目录下
    如果直接在注册表中删除以上2项,刷新立刻又会出现;判断该程序已经作为服务进程在运行了,而且一直监视注册表,一旦被删除又回立刻重新写入注册表。
    使用pskill svnidat32.exe结束该程序,删除以上两项,删除c:winntsystem32svnidat32.exe文件;执行net share ipc$ 重新共享。至此问题全部解决。

    2、w32.spybot.worm病毒
    在进程中会查看到一个叫wuamgrd.exe这个进程,证明中了一种叫“w32.spybot.worm的病毒“,在进程中结束她,然后在%SYSTEM%SYSTEM32 下找wuamgrd.EXE,把它删除,重新启动,发现问题解决,共享恢复,unc访问正常。

    killbox下载:

    [down=attachments/month_0511/2yr6_63u9_KillBox.zip]点击下载此文件[/down]

发表评论