2010-03-19 2 views
2

У меня есть несколько написанных вручную скриптов (.sql) для таблиц, представлений и хранимых процедур, которые используются в приложении ASP.NET. Эти сценарии отбрасывают объект и воссоздают их. Мне нужен способ обновления базы данных при изменении сценариев без удаления объекта. Например, когда столбец добавляется в существующую таблицу, в которой есть строки, мне нужно будет обновить эту таблицу с помощью этого дополнительного столбца, не теряя строки.Обновление базы данных SQL Server с помощью SQL-скриптов

Мне нужен способ «обновить» базу данных одним щелчком мыши (я могу подключить изменения с помощью пакетного файла). Поддерживает ли Visual Studio такую ​​функциональность?

ответ

1

Если вы получаете Visual Studio Team System - Database Edition 2008, который теперь поставляется в комплекте с «Developer Edition» бесплатно, он обрабатывает это. Проекты базы данных Visual Studio без этой версии действительно просто сохраняют статический SQL, который вы хотите отслеживать. База данных Edition способна определять «дельта» между вашим SQL и тем, что находится в целевой базе данных, генерирует этот сценарий и выполняется против вашей базы данных. Вы получаете возможность просмотреть этот сгенерированный SQL, но по умолчанию он очень безопасен [он не будет работать, если он подумает, что будут потеряны данные].

+0

Я также должен добавить - с выпуском 2010 года, это включено в «Visual Studio Premium» – cbkadel

+0

+1: o) Другое замечательно, что вы можете настроить конфигурацию разработки и развертывания, чтобы вы могли убедиться, что ваш скрипты делают именно то, что вы хотите, без использования живой системы. –

+0

cbkadel - Можете ли вы указать мне на онлайн-ресурс, который говорит об этом подробно? Я предполагаю, что вы хотите, чтобы я использовал инструмент «Сравнение схем»? Ссылки, предоставленные marc_s, являются хорошим началом, но не дают подробной информации – DotnetDude

0

Да - это проекты баз данных.

Вы можете определить проекты Visual Studio Database Projects, создать и изменить SQL-скрипты внутри него, а затем выполнить их по подключению к базе данных по вашему выбору, когда вам нужно.

См. Это blog post here для подробного объяснения, или прочтите whole series, что 4 парня из Rolla.

Смежные вопросы