为什么有些 XP 安装不会自动启动 SQL2005 服务(实例)

为什么有些 XP 安装不会自动启动 SQL2005 服务(实例)

我有许多 XP 机器上运行着 SQL 2005 实例,并且它们在服务控制管理器中设置为自动启动。

在其中 1 或 2 台机器上,当您重新启动时,SQL 实例无法启动。事件日志中没有任何内容表明发生了错误。

如果您随后转到服务控制管理器并手动启动该服务,它将顺利启动。

我想知道是否有人知道这些可能出了什么问题?

答案1

可能的答案是 SQL 服务试图在另一个所需服务(或驱动程序)启动之前启动。如果是这种情况,您可以通过设置 SQL 服务的依赖项来修复它。

无论如何,作为测试,您可以尝试这样做 - 选择最后启动的服务之一并让 SQL 依赖于它。

您还可以检查工作机器的依赖关系,看看它们是否相同(尽管如果您使用不同的连接库,不同的机器可能会有不同的要求)。

答案2

您是否检查过与 SQLAgent 服务关联的 Windows 帐户在应用的组策略(活动目录域)中是否具有“作为服务登录”属性?

如果它是工作组或独立安装,您可以运行 gpedit.msc(计算机配置、Windows 设置、安全设置、本地策略、用户权限分配、作为服务登录) - 否则您需要在我们的网络域控制器上进行编辑。

答案3

Windows 日志和 SQL Server 错误日志是您查看的最佳位置。我喜欢关于依赖关系的答案。这是我的猜测。我认为可能无法验证域凭据,但这不应该是个问题。Windows 通常会缓存这些。

我在代理中看到过这种情况,这是依赖关系,但主数据库服务没有这个问题。请确保您已将正确的实例设置为自动启动。有时使用 Expresss,会有多个安装,您可能会混淆这些服务。

答案4

我想我可能还发现了导致这种重启时无法启动错误的另一个因素。

看起来,如果将 Windows 事件日志设置为覆盖事件 > 7 天.. 大小为 512kb.. 但在此窗口内发生了很多活动,那么事件日志实际上已经满了,因为它无法覆盖该时间范围内生成的事件数量。如果您将事件日志设置为更大的大小或根据需要进行覆盖,那么您就不会遇到此问题。

因此,您实际上无法在事件日志中看到任何内容。SQL 的日志也得不到任何数据,因为它在服务启动时还不足以写入自己的日志(据我所知)

相关内容