title: How to store historical records in a history table in SQL Server
body: <p>I have 2 tables, <code>Table-A</code> and <code>Table-A-History</code>.</p>
  <ul>
  <li><code>Table-A</code> contains current data rows.</li>
  <li><code>Table-A-History</code> contains historical data</li>
  </ul>
  <p>I would like to have the most current row of my data in <code>Table-A</code>, and <code>Table-A-History</code> containing historical rows.</p>
  <p>I can think of 2 ways to accomplish this:</p>
  <ol>
  <li><p>whenever a new data row is available, move the current row from <code>Table-A</code> to <code>Table-A-History</code> and update the <code>Table-A</code> row with the latest data (via <code>insert into select</code> or <code>select into table</code>)</p>
  <p>or</p>
  </li>
  <li><p>whenever a new data row is available, update <code>Table-A</code>'s row and insert a new row into <code>Table-A-History</code>.</p>
  </li>
  </ol>
  <p>In regards to performance is method 1 or 2 better? Is there a better different way to accomplish this?</p>