什么是确保Web服务器和数据库层之间的数据库连接的最低开销方法?

我们有一个ASP .NET Web应用程序,主要依赖于单独硬件上托pipe的数据库。 我们希望公开一个terminal(可能只是一个简单的.aspx页面),外部工具/相关方可以使用它来确定Web应用程序是否“正常运行”。 我们称这个端点为状态监视器。

由于Web应用程序严重依赖于数据库层,我们希望状态监视器确保它能够访问数据库。 也就是说,状态监视器可以每小时多次命中,所以我们希望这个数据库检查尽可能便宜。

我想我们会让状态监视器打开一个数据库连接,并快速“select@@版本”查询作为确保数据库连接正常运行的一种手段。

有更便宜的方法和/或查询来确定Web服务器确实能够连接并查询数据库层吗?

我想我们会让状态监视器打开数据库连接,并快速“select@@版本”查询作为确保数据库连接已启动并运行的手段。

这只是最好的方法。 不仅确认了数据库机器正在运行,而且数据库正在运行并且连接可能。 ping(例如)或WMI检查不会检查最后一个。

记住.NET池连接,所以这不一定意味着一个完整的新连接(与authentication等开销)。