我想出了以下方法来确定数据库是否正在运行。它尝试打开一个数据库连接,如果失败则返回false。
private static bool IsDatabaseConnectionUp(string connectionString)
{
System.Data.SqlClient.SqlConnection conn = null;
try
{
conn = new SqlConnection(connectionString);
conn.Open();
return conn.State == System.Data.ConnectionState.Open;
}
catch (SqlException)
{
// There was an error in opening the database so it is must not up.
return false;
}
finally
{
if (conn != null)
{
if (conn.State == System.Data.ConnectionState.Open)
{
conn.Close();
}
conn.Dispose();
}
}
}
这是确定数据库是否正常的最佳方法吗?我不喜欢这种方法的原因是它依赖于超时值,并且需要等待设置的超时时间。
有更好的方法吗?