正在检测 SQL 服务器重启

Detecting SQL Server reboot

我的 C# 控制台应用程序运行在与我的 SQL Server 2014 不同的机器上。我使用 ado.net 连接到它。如何检测 sql 服务器在安装 windows 更新后是否自动重启?在我的客户端应用程序中,我使用 SystemEvents_SessionEnding 但这对我没有帮助。

我读到了连接弹性,但这似乎也不能解决这个问题。

是否有我可以捕获的特定 ado.net 事件?在发送 UDP 的服务器上创建应用程序不是我的首选解决方案,而且我不想使用 ping 等。

我真的在寻找类似事件的东西来做出反应。

例如通知服务:https://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlnotificationinfo(v=vs.110).aspx

谢谢!

如果您想查看服务器是否已关闭,您可以使用Ping Class。

using System.Net.NetworkInformation;

var ping = new Ping();
var reply = ping.Send("SqlServerIP");

if (reply.Status == IPStatus.Success)
{
    //server is available
}
else
{
    //server is down
}