c#:データベースのステータスどうにかならないか?

postgresのデータベースが、ノート移行で更新。
シェルで操作ばかりだが、apacheのようにステータスアイコンがほしいなと、ぐぐってみた。
確かに、この手のデータベースは、任意に止めることは普通しない。
忘れっぽいのとリソースが気になるので・・
取りあえず

[C#]
public void displayDBDetails()
{
SqlConnection sqlConn = new SqlConnection(string yourConnectionString);
sqlConn.Open();

string dbName = sqlConn.Database.ToString();
string dbStatus = sqlConn.State.ToString();
string dbServerVersion = sqlConn.ServerVersion.ToString();
etc.....
}



<!--more-->

or
private bool CheckDbConnection(string connectionString)
{
try
{
using(var connection = new SqlConnection(connectionString))
{
connection.Open();
return true;
}
}
catch (Exception ex)
{
logger.Warn(LogTopicEnum.Agent, "Error in DB connection test on CheckDBConnection", ex);
return false; // any error is considered as db connection error for now
}
}
or
public bool DatabaseConnection()
{
bool statusUp = true;

using (var databaseConnection = new SqlConnection(ConfigData.ConnectionStrings.DatabaseConnectionString))
{
try
{
databaseConnection.Open()
}
catch (SqlException ex)
{
const string message = "Could not establish a connection with Database.";
Log.DatabaseStatusDown(message, ex);
statusUp = false;
}
finally { databaseConnection.Close(); }
}

return statusUp
}
[/C#]

できるようだが、pingだけども、アプリケーションでSQL接続例外を処理するだけで、サーバーの状態に関する関連情報を表示
例外処理に加えて、DBがダウンしている場合は、接続文字列情報を使用してDB名やweb.configなどのリソースファイルのその他の情報を表示
とある。おお! 覚えておこう