title: C# Use async or thread for long running database activity in Azure SQL
body: <p>I have a nightly C# Windows service that updates tables and calls a long running (~ hour) stored procedure on 5-10 Azure SQL databases.  Since I can run all database work at the same time in Azure SQL with little to no performance hit, I'd like to run them asynchronously.  I can either call a method with async void (using Await Task.Delay(10)) or create a new thread.</p>
  <p>What is the better approach?... does it matter?</p>
  <p>EDIT: Here is an example of the asynch void method.  I want to make sure it's clear what it's doing.</p>
  <pre><code> public static async void DoRanking(object e)
      {
          // will start all orgs concurrently
          await Task.Delay(10);
          ... do a bunch of database work here ...
          ... call a long running stored procedure here ...
      }
  </code></pre>