title: Detecting changes in SQL Server 2000 table data
body: <p>I have a periodic check of a certain query (which by the way includes multiple tables) to add informational messages to the user if something has changed since the last check (once a day).</p>
  
  <p>I tried to make it work with <code>checksum_agg(binary_checksum(*))</code>, but it does not help, so <a href="https://stackoverflow.com/questions/36/check-for-changes-to-a-sql-server-table">this question</a> doesn't help much, because I have a following case (oversimplified):</p>
  
  <pre><code>select  checksum_agg(binary_checksum(*))
  from    
  (
      select  1 as id,
              1 as status
  
      union all
  
      select  2 as id,
              0 as status
  ) data
  </code></pre>
  
  <p>and</p>
  
  <pre><code>select  checksum_agg(binary_checksum(*))
  from    
  (
      select  1 as id,
              0 as status
  
      union all
  
      select  2 as id,
              1 as status
  ) data
  </code></pre>
  
  <p>Both of the above cases result in the same check-sum, 49, and it is clear that the data has been changed.</p>
  
  <p>This doesn't have to be a simple function or a simple solution, but I need some way to uniquely identify the difference like these in SQL server 2000.</p>