можно ли использовать dacpac для управления базами данных с большим объемом данных?

Наша текущая база данных имеет размер почти 200 МБ, но как только приложение будет запущено, мы ожидаем, что он вырастет до большого объема ... может быть, 20-30 ГБ данных в нем.

Мы планируем использовать «dacpac» (сгенерированный проектом базы данных - SSDT) ​​для развертывания на рабочем сервере. База данных будет создана с несколькими таблицами и множеством исходных данных в таблицах поиска.

Однако есть опасения по поводу будущих развертываний, когда мы будем использовать «dacpac» (сгенерированный проектом базы данных - SSDT) ​​для обновления базы данных на рабочем сервере.

Поскольку у меня нет прошлого опыта использования dacpac для развертываний, может ли кто-нибудь предложить мне следующее -

  1. Зависит ли развертывание от объема данных? Или это просто зависит от изменений схемы? Например, если целевая база данных имеет размер 20–30 ГБ, сколько приблизительно времени может потребоваться только для ее обновления?
  2. Как мы можем версировать схему базы данных?
  3. Можно ли откатить процесс обновления, если что-то пойдет не так?

И, наконец, что лучше, чем традиционный способ написания sql-скриптов вручную для обновления базы данных?


person Nirman    schedule 15.05.2015    source источник


Ответы (1)


  1. По моему опыту, объем данных действительно влияет на развертывание dacpac. Увеличение времени будет зависеть от того, какие изменения применяются в вашем dacpac в вашей базе данных. Мой единственный совет здесь - попробовать и протестировать с большими объемами данных, чтобы измерить увеличение времени, это может быть минимальным

  2. Все наши объекты хранятся в проекте Visual Studio SQL Server Data Tools (SSDT), затем версия контролируется в TFS, поэтому, когда нам нужно выполнить сборку на основе дополнительной проверки, она создаст для нас новую версию.

  3. Это может зависеть от типа применяемых обновлений и от того, хотите ли вы потратить время на понимание того, что потребуется для отката каждого обновления схемы.

Мне нравится использовать dacpac, и я считаю его очень полезным, когда вы размещаете все свои объекты SQL в одном проекте Visual Studio. Использование ручного режима может увеличить вероятность того, что вы забудете включить один или несколько исправлений из-за количества требуемых изменений.

person kevchadders    schedule 15.05.2015