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

我有一些运行SQL 2005实例的XP机器,它们被设置为在服务控制pipe理器中自动启动。

在这些机器中的一个或两个重新启动时,SQL实例不会启动。 事件日志中没有任何事情是错误的。

如果您随后转到服务控制pipe理器并手动启动该服务,则启动时不会出现问题。

我想知道是否有人有什么线索可能会出现这些错误?

一个可能的答案是SQL服务试图在另一个必需的服务(或驱动程序)开始之前启动。 如果是这种情况,您可以通过设置SQL服务的依赖关系来解决这个问题。

作为一个testing,你可以尝试这样做 – select一个最后的服务来启动,并使SQL依赖于它。

你也可以检查工作机器的依赖关系,看它们是否相同(例如,如果你使用不同的连接库,你可以在不同的机器上有不同的需求)。

您是否检查过与SQLAgent服务关联的Windows帐户在所应用的组策略(Active Directory域)中是否具有“作为服务login”属性?

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

Windows日志和SQL Server错误日志是您查看的最佳位置。 我喜欢关于依赖的答案。 这将是我的猜测。 我想也许无法validation域的凭据,但这不应该是一个问题。 Windows通常caching这些。

我已经看到这与代理,这是依赖的东西,但不是主要的数据库服务。 确保你有正确的实例设置为自动启动。 有时使用Express,有多个安装,你可能会混淆服务。

我想我可能也发现了另一个促成这种因素不会在重新启动错误时启动的因素。

看来,如果Windows事件日志设置为覆盖事件> 7天..大小512kb ..但是在这个窗口内发生了很多活动,然后事件日志是有效的,因为它不能覆盖内部产生的事件的数量那个时间表 如果您将eventlog设置为更大的大小,或者根据需要覆盖,则不会遇到此问题。

因为这个原因,你实际上并没有在事件日志中看到任何东西。 SQL的日志没有得到任何数据,因为它没有足够的进入服务的启动来写入它自己的日志(afaik)