title: Difference between two SQLExceptions ("A transport-level error.." and "A network-related or ...")
body: <p>I have a bunch of users on my WPF/Linq2SQL application and I log all their exceptions at the database in a separate connection (which I create efter the exception has been thrown).</p>
  
  <p>Occasionally I get the SQLExceptions:</p>
  
  <ol>
  <li>A network-related or instance-specific error occurred while
  establishing a connection to SQL Server </li>
  <li>A transport-level error has occurred when receiving results from the server</li>
  </ol>
  
  <p>To me, they both means that Linq2SQL were unable to connect to the database or was disconnected. But I assume there is some difference between them since Microsoft bother to have them both.</p>
  
  <p>NB: It is not the server or the database which is the problem. One user may get crashed while the other 10 happily continues to work.</p>
  
  <p>I know for a fact that 2) occasionally happens and I get nothing logged (because I log in a table on the same server/database) it seems logically that if the connection breaks down, I cannot save to the errorlog-table either. But both types of SQLExceptions do get logged occationally, meaning that a new connection is able to connect.</p>
  
  <p>The user's setup is a laptop computer with both wire and wireless connections. They run windows. Occasionally my forget to disable wireless networking on their laptop when there's a cable to the machine. I have been told that this may cause trouble. Occasionally remember to disable wireless, but then they will disconnect their laptop from the network altogether to go to a meeting (where they re-connect).</p>
  
  <p>I need help to figure out which exceptions should be ignored by the program, and which are important enough to let the program crash. And if I should bother re-try the operation before letting the program crash.</p>
  
  <p>So.. basically I would like to know the difference between the two exceptions. </p>