昨天我们遇到了电源问题,导致我们的 Windows Server 2003 文件和打印服务器崩溃。从那时起,我们就遇到了一些奇怪的打印问题。虽然这些问题应该可以通过从备份中恢复来解决,但我真的在寻找可能的原因。
有两个不同的问题,我认为它们有一个共同的根源。
- 后台处理程序服务会定期停止,但不会在事件日志中记录任何内容。它设置为自动重新启动,运行良好,从半小时到几个小时不等,然后再次停止,没有明显的规律。
- 这真是太奇怪了。有些用户有时可以打印,但有时作业只是停留在打印队列中,永远不会到达服务器,无论服务器上的后台处理程序是否正在运行。
当事件 2 发生时,客户端或服务器上的日志中没有任何内容表明存在问题。客户端是 XP 32 位和 Win 7 64 位的混合体,因此它们甚至没有使用相同的驱动程序。重新启动机器(包括服务器)没有任何效果。
在一个客户端上,我尝试删除现有打印机并重新创建。此时,我收到“拒绝访问”的提示,尽管后台处理程序文件、文件夹和共享上的权限没有更改,仍然正确。对所有这些文件、文件夹和共享进行最大访问权限打开的测试并没有改变行为。
似乎没有规律可循,哪些用户帐户(或组)或哪些客户端计算机受到影响。临时的解决方法是将打印机创建为本地打印机,而不是通过服务器。幸运的是,我们的用户数量很少。
有人想尝试一下潜在的问题可能是什么吗?
有点奇怪
渐渐地,那些原本可以打印的用户发现他们再也无法打印了。作为测试,我重启了一台仍能打印的客户端电脑。这没有效果,但大约一小时后,那台机器也无法再打印了。现在每个人都将每台打印机设置为本地打印机,从而(暂时)将服务器从等式中移除。
我应该补充一点,我仍然可以从服务器本身打印到每台打印机,并且自从我断开客户端连接后,后台处理程序就没有崩溃。
更新
删除某一型号打印机的驱动程序后,所有其他打印机的功能均正常。重新安装这些驱动程序会导致所有打印机都出现问题。这本来不应该发生,但事实就是如此。到目前为止,我一直没有从备份中恢复,试图找出根本原因,但现在我放弃了。
答案1
这很奇怪。如果你能从备份中恢复服务器,这可能是你最好的选择。
服务器计算机上的后台处理程序服务是否正常关闭,或者是否崩溃?如果服务意外终止,您应该会收到来自服务控制管理器的消息(如果服务正常关闭,还会收到表明收到“停止”控制消息的消息)。
我的经验是,Windows Server 计算机上的 Spooler 服务意外终止几乎总是由驱动程序或打印处理器故障导致的。查看故障产生的内存转储中的堆栈跟踪可能会让您知道是哪个驱动程序导致的。否则,如果您想找到故障驱动程序,就只能继续排除。也许您在某个驱动程序文件的数据流中发现了一些损坏。
在我看来,您看到的情况从未发生过。我们现在有几个客户正在将大量 64 位 Windows 7 投入生产,我们时不时地发现客户端计算机上的打印行为很奇怪(特别是使用 Microsoft Excel 2007 时——测试页可以正常打印,但选择任何与打印相关的功能(如“页面设置”或“打印预览”)时 Excel 会挂起),但情况与您描述的完全不同。
如果您能够方便地从备份中恢复该盒子,我想我会这么做。
答案2
自服务器发生电源事件以来,是否已进行基本的“阻拦和应对”?
- “chkdsk” 来确保文件系统没有任何错误?
- 清除了临时文件夹吗?
- 清除了所有杂散的假脱机文件吗?