title: SqlDependency Reliablity?
body: <p>My current situation is that I have an application that needs to be notified when new data arrives in a database table.  The data is coming from an external source (that I have no control over--this is this only integration option).  When new data arrives, my application needs to take certain actions--basically query for the new data, handle it, insert the result into a local table, etc.</p>
  
  <p>I want to avoid polling if possible, as the data is expected to be handled in real time.  That said, making sure no data ever gets missed is the #1 priority.</p>
  
  <p>My questions:</p>
  
  <ol>
  <li>Is SqlDependency generally considered reliable?</li>
  <li>Do I need to be concerned about race conditions, e.g. I am handling one change when another arrives?</li>
  <li>What happens when the database gets rebooted?  Will my app recover and start receiving changes again, or will I need a fail-safe timer of some sort that will resubscribe to notifications periodically?</li>
  <li>Most of the articles I have read on the topic address SQL Server 2005.  I am using SQL Server 2008 R2.  Is there a newer technique that is preferred over SqlDependency?</li>
  <li>(Edit)Also, What if the application goes down?  I guess I would have to query for missed data on start up?</li>
  </ol>