我有一個winform程序,它使用合併複製來保持本地SQL Express與我們網絡中的中央SQL Server同步。由於此應用的性質,同步過程會在應用打開和關閉時自動運行。我做這件事的方式(如下)似乎非常耗時。什麼是更快的方式?判斷SQL Server是否可用的最快方法
條條框框思考,如果我只是檢查了服務器本身雖然可能提出一個孔,其中服務器可用,但SQL是下降邊緣的情況下,很可能會好起來的。或者,也許只是檢查我們的域是否可用,儘管這可能會讓我猜測出同樣的漏洞。
謝謝!
private static bool IsSqlAvailable()
{
try
{
var conn = new SqlConnection("Data Source=WWCSTAGE;Initial Catalog=Connect;Integrated Security=True");
conn.Open();
conn.Close();
HUD.IsSQLAvailable = true;
return true;
}
catch (Exception)
{
HUD.IsSQLAvailable = false;
return false;
}
}
作爲附加的註釋。以上在關閉網絡時特別慢。我甚至將連接超時設置爲1,並且在相當長的一段時間內仍然處於這種狀態。
如果您將連接超時設置爲1秒,並且它仍然需要一段時間才能失敗,也許不應該責怪連接嘗試。可以用DNS查找嗎?有關連接超時的一些有趣信息,請參閱http://www.eggheadcafe.com/conversation.aspx?messageid=31241642&threadid=31241641。 – Jacob 2009-07-11 08:07:30