Има изчакване, преди мрежовият хардуер да съобщи изчакване на връзката на мрежовите драйвери, което от своя страна уведомява програмите, чакащи мрежов IO. Можете да проверите времето за изчакване на транспортния слой чрез telnet servername 1433 (ако приемем, че вашият sql сървър слуша на порт 1433).
Но 3 секунди са твърде кратки за процес за инициализиране на мрежовите API (ако приемем, че вашето уеб приложение е в собствения си набор от приложения), изпращане на заявка и изчакване на хардуера да изтече. Актуализирането на BIOS/фърмуера/драйвера вероятно няма да намали толкова много времето за реакция.
Би било по-добре връзката да се извърши асинхронно. Не предлагам да използвате EndInvoke за прекратяване на асинхронното повикване, тъй като нещастните потребители все пак може да трябва да изчакат 3 пълни секунди, за да видят някакъв отговор, когато базата данни не работи. Може би повикване на Ajax е по-добро. Ако имате много потребители, които постоянно посещават вашия уеб сайт, може да искате да кеширате резултата от проверката на свързаността и да го актуализирате по начин, който е значим за вашите потребители.