title: What is an easy way to deploy database changes using SQL Server?
body: <p>The software system I work on is a medical billing system, large amounts of data and data tables, and stored procedures.</p>
  
  <p>I was reading the article "<a href="http://www.joelonsoftware.com/articles/fog0000000043.html" rel="noreferrer">12 Steps to Better Code</a>" and in The Joel Test #2 states: Can you make a build in one step?</p>
  
  <p>Now I was wondering, does this mean deployment build (so that a customer can update their deployment).</p>
  
  <p>Now the main issue I'm running across, is how do you do a one step database update?</p>
  
  <p>At the current time, when we make changes to a database, all changes are recorded and added to a database update script, which gets a version number attached to it when a deploy to customer build is created.</p>
  
  <p>Is there a simpler way to do this? Some script or application out there that takes a "before and after" look at a database schema and creates an update script like I mentioned?</p>
  
  <p>Or is this just the way everyone does it, which I would find hard to believe, but plausible.</p>
  
  <p>An automated system would decrease errors, and speed up deployment build times considerably, and I would be interested in knowing how to do so.</p>