Если обновления меняют такие вещи, как имена столбцов, сохраненные параметры процедуры и т. Д., То всегда переводите приложения в автономный режим перед обновлением схемы.
Если обновления предназначены только для вещей, которые не влияют на нормальную обработку данных, тогда вы можете сделать это "горячим". Эта категория - когда вы добавляете такие вещи, как индексы, таблицы и т. Д.
Если кто-то использует приложение во время обработки обновления схемы, вы вполне можете оказаться в ситуации, когда нарушается согласованность данных.
Если для этого обновления требуется соответствующее обновление файлов веб-приложения, переведите сайты в автономный режим перед выполнением обновления. Вы не знаете, кто может просматривать страницу и собирается нажать «Отправить» только для того, чтобы получить сообщение об ошибке ...
Обычно обслуживание такого рода выполняется в нерабочее время. Вы должны заранее уведомить пользователей о том, когда сайт будет закрыт и как долго.
Кроме того, мы используем такие инструменты, как SQL Compare в Redgate, для написания сценариев наших обновлений БД. Это практикуется на промежуточном сервере, который был обновлен из производственных данных до фактической отправки, чтобы избежать неожиданностей и сделать это очень быстро.
Что касается однопользовательского режима, вы обычно используете его для ограничения доступа к базе данных для одного экземпляра Management Studio. Это не то, что мы обычно делаем в рамках наших развертываний.