【问题标题】:Windows Services troubleshooting, recovery setting?Windows 服务故障排除、恢复设置?
【发布时间】:2010-10-20 11:35:12
【问题描述】:

现在我在 windows server 2003 上有某种服务应用程序,用于将设备中的数据输入数据库。

有时由于数据错误或其他任何事情(数据库连接问题、互联网连接中断等)导致服务失败,我必须重新启动服务,现在我为这个问题提供的解决方案是使用 NET START 的简单批处理命令/STOP 命令,每 1 小时安排一次。

然后我看一下服务属性上的恢复选项卡,有一个重新启动服务的选项,我想知道如何测试它?比如,Windows 怎么知道服务失败了?最重要的是如何知道发生故障时服务是否成功重启(基于恢复设置)?

PS:我无法访问代码

谢谢

【问题讨论】:

    标签: service recovery restart


    【解决方案1】:

    当服务因未处理的异常而崩溃时,服务控制台会自动重启。 (你的代码的某些部分抛出了一个异常,但没有捕捉到它,并且它一直冒泡并从主函数中溢出。)

    如果您可以控制代码,最好在容易引起问题的区域周围放置一些 try/catch 块,并更优雅地处理错误。您还可以在应用程序的主入口点周围放置一个 try/catch,以捕获并尝试处理代码中任何未处理的异常。

    如果您无法控制代码,您可以通过强制发生这些错误之一来测试自动服务恢复。如果您在发生连接问题时服务崩溃,您可以通过拔下计算机上的网线来强制执行此操作。

    【讨论】:

    • 太糟糕了,我现在无法测试它,因为它在我们的生产服务器上,我没有访问代码的权限,但我会尽快尝试部署开发服务器。顺便说一句,如果发生故障,如何知道服务已重新启动?
    • 您在服务上有任何日志记录设置吗?如果没有,你可以检查服务控制台,看看它是否在失败后运行。
    【解决方案2】:

    测试恢复选项的最简单方法是从任务管理器中终止服务进程。 Windows 将检测到它并运行第一次故障恢复选项。后续杀死将测试第二次失败和后续失败选项。事件日志将记录退出和采取的措施。

    根据您的环境和您的服务,这可能对您来说是一个可行的选择,也可能不是一个可行的选择,因为您正在终止该服务。

    【讨论】:

      【解决方案3】:

      您可以将其恢复到较早的时间点,恢复 Surface 不会更改您的个人文件,但可能会删除最近安装的应用程序和驱动程序。

      1.从屏幕右边缘向内滑动,然后点击搜索。 (如果您使用鼠标,请指向屏幕右上角,向下移动鼠标指针,然后单击“搜索”。)

      2.在搜索框中输入控制面板,然后点击或单击控制面板。

      3.在控制面板搜索框中输入恢复,然后点击或单击恢复。

      4.点击或单击“打开系统还原”,然后按照说明进行操作。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-02-19
        • 2021-11-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多