Сравнение или проверка таблиц и других объектов в базе данных по схеме или сценарию - PullRequest
0 голосов
/ 31 января 2011

Я делаю своего рода самопроверку страницы установки на сайте asp.net, где необходимо обновить существующую базу данных в соответствии с последней схемой. Какой лучший способ сделать это? Ранее мы использовали одну из программ RedGate Wins для сравнения базы данных и создания сценария обновления, который будет выполняться на существующих клиентских базах.

1 Ответ

0 голосов
/ 31 января 2011

Red Gate предлагает API, поэтому его можно запускать без графического интерфейса.Не уверен, как это повлияет на лицензирование.

В противном случае, некоторые идеи:

  • проверка на отсутствие объектов и CREATE
  • запуск ALTER для кода, где это возможно
  • запустить скрипт, если версия (в формате udf или в таблице) ниже

если у вас есть скрипт, который выполняет полное обновление транзакции, сгенерированное, скажем, Red Gate, вы можете использовать это: всевам нужен тест, чтобы решить, запускать его или нет.

Одно замечание: для внесения изменений в DDL требуются права db_owner или ddl_admin: приложение yoru запускается с этими правами ежедневно?

...