У меня есть приложение ASP.NET, которое работает с базой данных SQL Server 2005. Раз в день мне нужно запускать серию пакетов procs & SSIS в задании агента SQL для обновления данных в таблицах. Задание агента SQL будет выполняться по расписанию без присмотра.
Существуют небольшие возможности для сбоя веб-приложения при выполнении шагов задания агента SQL, поэтому я хочу временно полностью отключить приложение, запустить чувствительные шаги, а затем снова включить приложение.
Я вижу, что могу использовать файл app_offline.htm
в корне сайта веб-приложения. Чтобы сделать это, мне нужно было бы предоставить разрешения на серверы для пакета агента SQL, чтобы он мог что-то вроде ren app_offline.tmp app_offline.htm
на веб-сервере, выполнить шаги, а затем вернуть файл htm обратно в .tmp.
Другой вариант, который я рассматривал, состоял в том, чтобы поместить логическое значение «MAINTMODE» в таблицу, которая обновляется заданием агента SQL, и заставить веб-приложение проверять его при каждом обращении к БД, чтобы убедиться в его доступности. Если это не так, перенаправьте на страницу, которая указывает, что сайт временно отключен.
Есть ли другие подходы, которые я должен рассмотреть? Каков наилучший подход к минимальному нарушению работы пользователей?
Спасибо
Chris