SQLCompare from Redgate is another tool that checks both environmments and then creates a script to make all the changes from one to the other. And the price is very reasonable.
It is best to use a tool like this when promoting changes because you might forget something. You may need to adjust any script to make sure things are done in the proper order. And I usually do table changes, then view changes, then function changes and finally sp changes. And sometimes you may need to exclude some changes that you know are not ready to go to production. It is also a good idea if possible to have a staging or QA environment which is just like prod to run the scripts on first. You can then test and fix any problems encountered (such as the order of when changes are made) before promoting the script to production.
"NOTHING is more important in a database than integrity." ESquared