我们的一个客户有一个由 CrystalTech 托管的 Windows 2008 Hyper-V 实例,有时父 Hyper-V 服务器会在子 VM 未正确关闭的情况下重新启动。
因此,当服务器重新联机时,VM 中的 SQL Server Express 服务不会启动,即使它设置为自动。事件日志中没有错误条目。如果您正常重新启动服务器,SQL Server Express 会自动启动。
有人遇到过这个问题吗?有什么解决办法吗?
附带说明一下,当服务器意外关闭时,是否有任何好的脚本/方法可以通过电子邮件发送通知?
另一方面,有人知道 Hyper-V VM 的任何好的主机吗?
所有其他服务都启动了吗?
我很惊讶它甚至没有尝试开始。您是否检查了多个实例?我见过人们认为只有 1 个实例,而他们正在检查错误的实例。
SQL express 不应该启动没有任何根本原因。VM 崩溃就像 SQL 的硬关机,通常它会自行重新启动。
我可能还会寻找服务依赖项。我希望 SQL Server 位于依赖链的根部,但它可能依赖于其他东西。
很奇怪。我认为这里发生了一些奇怪的事情。如果你有 TechNet 或 MSDN,我会用 MS 烧一个案例来解决这个问题。您的环境或默认的 Windows 或 SQL Server 安装可能会导致此问题。
您可以做的一件事是如上所述设置任务计划程序项以启动它。
如果您设置在失败时重新启动服务,那会起作用吗?
我有同样的问题。在我的例子中,我发现向客户端计算机提供 SQL Server 连接信息的服务 SQL Server Browser 不知何故被更改为禁用。将其属性更改为自动,一切都再次正常启动。
将应用程序配置为在启动时运行,只检查 SQL 是否运行,如果不存在则启动它呢?您甚至可以将其配置为定期在任务调度程序下运行。