Pull to refresh

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

Reading time 2 min
Views 10K
В данной статье я расскажу о процессе обновления баз данных Microsoft SQL Server и предложить программный продукт, который может использоваться при взаимодействии заказчика и исполнителя.

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


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

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

Впоследствии возникают такие задачи:
  1. на стороне исполнителя проверить выполнение набора скриптов в тестовой базе данных;
  2. на стороне заказчика выполнить скрипты в рабочей базе данных клиента;

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

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


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

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

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

image

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

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

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

image

На втором экране производится обновление. После этого можно провести сравнение зашитой в пакет структуры эталонной базы и текущей (на которой было выполнено обновление).

image

image

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

image

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

Программный комплекс распространяется по лицензионному соглашению Freeware, скачать инсталлятор можно по ссылке Менеджер обновлений баз данных
Tags:
Hubs:
+5
Comments 1
Comments Comments 1

Articles