2008-11-04 2 views
1

У меня есть приложение ASP.NET, которое работает с базой данных SQL Server 2005. Один раз в день мне нужно запустить серию пакетов procs & SSIS в задании агента SQL для обновления данных в таблицах. Задание агента SQL будет выполняться по расписанию без присмотра.Лучший способ временно отключить приложение во время работы агента sql

Есть небольшие окна возможностей для веб-приложения, которые не работают при выполнении шагов SQL Agent Job, поэтому я хочу полностью отключить приложение, запустить чувствительные шаги, а затем снова включить приложение.

Я вижу, что могу использовать файл app_offline.htm в корне сайта веб-приложения. Для этого мне нужно будет предоставить разрешения на серверы в пакете агента SQL, чтобы он мог сделать что-то вроде ren app_offline.tmp app_offline.htm на веб-сервере, выполнить шаги, а затем переименовать htm-файл обратно в .tmp.

Другой вариант, который я рассматривал, заключался в том, чтобы поместить «MAINTMODE» в таблицу, которая обновляется заданием SQL-агента, и веб-приложение проверяет его при каждом вызове db, чтобы убедиться, что он доступен. Если это не так, перенаправление на страницу, которая указывает, что сайт временно отключен.

Есть ли другие подходы, которые я должен рассмотреть? Каков наилучший подход к минимальному сбою пользователей?

Спасибо,

Chris

ответ

1

Я хотел бы использовать метод '' MAINTMODE вы предложили. Таким образом, это срабатывает только в том случае, если запрос попадает на ваш веб-сервер. Для простоты серверов баз данных не нужно разговаривать с вашими веб-серверами. Пусть ваши веб-серверы обрабатывают презентацию, позволяя вашим серверам баз данных сосредоточиться на базе данных.

Смежные вопросы