Обновление баз данных Microsoft SQL Server

Прежде всего, зачем это нужно

Наша компания занимается разработкой программного обеспечения и в большинстве случаев в качестве СУБД мы используем Microsoft SQL Server. Для определенности будем называть компанию-разработчика "исполнителем", а компанию-клиента - "заказчиком".

 В процессе внесения изменений в базу данных программистами исполнителя формируется набор скриптов, созданных вручную или в специализированном П/О.

 Впоследствии возникают такие задачи:

  • на стороне исполнителя проверить выполнение набора скриптов в тестовой базе данных;
  • на стороне заказчика выполнить скрипты в рабочей базе данных клиента;

Предположим, что проверить выполнение скриптов в тестовой БД может и программист и тестировщик с помощью Microsoft SQL Server Managerment Studio (SSMS). Но заставлять заказчика проводить эти операции в SSMS невозможно, так как:

  • у него вообще может быть не установлен SSMS;
  • заказчик может не обладать знаниями работы с БД. И не должен по большому счету;
  • в случае возникновения ошибок при выполнении скриптов, заказчику будет затруднительно собрать их для отправки разработчикам;

Как мы решаем указанную задачу

Нами был разработан программный продукт "Менеджер обновления баз данных", который состоит из двух программ:

  1. программа для подготовки пакета обновления;
  2. программа для выполнения пакета обновления;

Программа для подготовки обновления

 Программа используется у исполнителя. Программисты с её помощью формируют набор скриптов в один файл.

 

Из особенностей этой программы можно отметить два пункта:

  • в формируемый пакет обновления может быть добавлена информация о структуре эталонной базы данных. Если такая информация присутствует в пакете, то заказчик после выполнения обновления может сравнить структуру своей базы с эталонной;
  • для заказчика программа выполнения обновления передается в виде одного EXE файла, внутри которого зашиты скрипты и структура эталонной базы.

Программа для выполнения обновления

 Как уже упоминалось, запуск программы осуществляется с помощью одного EXE файла. Пользователю в большинстве случаев достаточно ввести регистрационную информацию (кстати, эти значения можно зашить в пакет обновления) и везде нажать "Далее".

 
На втором экране производится обновление. После этого можно провести сравнение зашитой в пакет структуры эталонной базы и текущей (на которой было выполнено обновление).
 
 
 
 
Анализ расхождения в структуре производится в графическом интерфейсе программы обновления.
 
 
К сожалению, просмотр расхождений программистами исполнителя осуществляется в текстовом файле журнала, который впоследствии высылает заказчик. Интересный подход решения этой проблемы предложен в статье Контроль изменения структуры БД. Данная задача не столь критична; программисты могут сами написать скрипт для приведения структуры к целевой.

Страница сайта http://www.interface.ru
Оригинал находится по адресу http://www.interface.ru/home.asp?artId=26621