What can I do to fix my database that has been partially upgraded?
This is a tricky one to resolve yourself. You basically need to identify whereabouts in the upgrade it failed. For example it might have done all the tasks for a particular point version &amp; failed afterwards, or it might have run some sql &amp; not completed.

If you look in the db the civicrm_domain table has a field called version. Once you know where it got to you can go through the sql statements in that version's upgrade &amp; figure out which ones it did &amp; didn't complete - eg.

https://github.com/fuzionnz/civicrm-core/blob/4.6/CRM/Upgrade/Incremental/sql/4.6.alpha1.mysql.tpl

There are also php functions so you need to evaluate those too
https://github.com/fuzionnz/civicrm-core/tree/4.6/CRM/Upgrade/Incremental/php

Once you know where it fell over you can evaluate what needs to be applied to get it to the next point version. Once you have done all the things the upgrade script would have done to get to the next point version you can alter the value in civicrm_domain.version to the next point version &amp; remove the upgrade &amp; then start the script running again