Ребята, пожалуйста, изучите фактический стек исключений, прежде чем вслепую утверждать, что SqlException не имеет .Number просто потому, что некоторые страницы MSDN содержат шаблонный текст. .ErrorCode обычно получает одно единственное универсальное значение (устанавливается частным CTOR). Для этой типичной ошибки вы можете увидеть здесь стек исключений:
http://social.msdn.microsoft.com/Forums/en-US/sqldatabaseengine/thread/cb61ec85-c0d4-4a26-90e0-8c98cd28332f
и если вы последуете ей, вы увидите, что код, который готовится, заполняет все, но он немного запутан, чтобы отследить фактическое число ошибок в отражателе.
Так что, кто бы ни увидел вещи, которые будут дальше, отправьте фактический номер ошибки (или цифры). Эти ошибки, как правило, довольно редки и временны, и было бы хорошо иметь числа, так как в то время, когда сервер видит сбой соединения, уже слишком поздно, чтобы преследовать их числа.