Управление изменениями является важной задачей для администраторов баз данных (DBA), чтобы обеспечить плавные и контролируемые переходы в средах разработки, тестирования и производства. В этой статье мы рассмотрим основные концепции и процессы, связанные с управлением изменениями в SQL Server.
Обзор среды
В любой серьезной разработке приложений важно иметь несколько основных сред, в которых работает команда. Эти среды обычно включают:
- Разработка: это занятый сервер, где база данных отражает различные контролирующие изменения, некоторые из которых могут не пройти в тестовую фазу.
- Тестирование: эта среда регулярно обновляется из производства и синхронизируется с пакетом контролирующих изменений, которые запланированы для внедрения в производство.
- Поддержка производства: эта среда является зеркалом производства в определенный момент времени и используется для тестирования пользователей, устранения критических проблем и отладки.
- Предпроизводство: эта среда также является зеркалом производства и используется для компиляции кода в производство и выполнения окончательного предварительного тестирования изменений в производстве.
- Производство: это рабочая среда, в которой приложение доступно конечным пользователям.
Цикл окна изменений
Цикл окна изменений включает процесс перемещения изменений из разработки в тестирование и, наконец, в производство. Этот цикл гарантирует, что изменения правильно протестированы и проверены перед развертыванием в рабочую среду. Ниже приведена диаграмма цикла окна изменений:
Формализация процесса
Формализация процесса управления изменениями является необходимой для обеспечения согласованности и ответственности. Это включает:
- Использование формы контроля изменений, которая включает три основные серверные среды (разработка, тестирование и производство) и позволяет разработчикам подписывать сгенерированные скрипты.
- Внедрение системы контроля версий, такой как Microsoft Visual Source Safe (VSS), для управления и отслеживания изменений в кодовой базе.
- Установка соглашений о наименованиях для хранимых процедур и представлений, а также обеспечение возможности внесения изменений в базу данных только администратором баз данных.
- Определение ролей базы данных, которые будут использоваться компонентами приложения, и обеспечение строгих мер безопасности.
Управление скриптами
Управление скриптами является важным аспектом управления изменениями. Оно включает генерацию скриптов для изменений базы данных и их хранение в системе контроля версий, такой как VSS. Администратор баз данных отвечает за управление и отслеживание этих скриптов на протяжении цикла окна изменений. Важно иметь дисциплинированный подход к управлению контролем версий, чтобы гарантировать, что все изменения правильно задокументированы и отслеживаются.
Управление внеплановыми (горячими) изменениями
Помимо запланированных изменений, могут возникать ситуации, когда требуются горячие исправления в производственной среде. Горячие исправления – это незначительные ошибки системы, которые необходимо немедленно устранить. Процесс управления горячими исправлениями включает:
- Предупреждение всех основных пользователей о простое и предоставление сводки ошибок, вызванных этим.
- Повторное тестирование горячего исправления на сервере поддержки, если это возможно.
- Остановка приложения в упорядоченном порядке и создание резервных копий всех основных компонентов, которые будут заменены или изменены.
Заключение
Управление изменениями является важным аспектом администрирования SQL Server. Путем формализации процесса, внедрения управления скриптами и эффективного управления внеплановыми изменениями DBA могут обеспечить плавные переходы между средами разработки, тестирования и производства. Важно иметь дисциплинированный подход и строгое соблюдение определенных процессов, чтобы избежать возможных проблем или осложнений.