Вы можете сделать это программно, заглянув в словарь данных (sys.objects, sys.columns и т. Д.) Обеих баз данных и сравнив их. Однако есть и такие инструменты, как Redgate SQL Compare Pro , которые делают это для вас. Я несколько раз указывал это как часть инструментария для обеспечения качества в системах хранилищ данных, включая тот, над которым я сейчас работаю. На моем нынешнем концерте это не было проблемой, поскольку администраторы БД уже использовали его.
Основная методология использования этих инструментов состоит в том, чтобы поддерживать эталонный сценарий, который создает базу данных, и поддерживать его в управлении версиями. Запустите скрипт в базу данных с нуля и сравните его с вашей целью, чтобы увидеть различия. Он также сгенерирует патч-сценарии, если вы так склонны.
Насколько я знаю, нет ничего свободного, что делает это, если вы не хотите писать свои собственные. Redgate достаточно дешев, поэтому он может быть бесплатным. Даже в качестве инструмента QA для доказательства того, что производственная БД не находится в конфигурации, она должна была сохранить вашу покупную цену после одного инцидента.