Если я вспомню, вы также можете создать скрипт в SQL Compare, чтобы вернуть все обратно в состояние, в котором он был запущен. Возможно, вы захотите сгенерировать и то, и другое.
Когда я делал такое развертывание (это было некоторое время), я сначала загружал на промежуточный сервер, который был сделан точно так же, как prod, прежде чем я начал проверять, что сценарии будут работать на prod. Если что-то не удалось (обычно из-за порядка запуска сценариев, например, нельзя установить внешний ключ для таблицы, которая еще не существует). Я также сначала записал все изменения таблицы, затем все изменения представлений, затем все изменения UDF, а затем все сохраненные изменения процедур. Это значительно сократило количество сбоев из-за объектов, которые еще не существовали, но у меня все еще было несколько вещей, которые нужно было отрегулировать.