Обнаружить аварийное завершение работы Windows, SQL Server & Application для запуска валидации баз данных

Флейм. Только просьба - не материться! :)

Модератор: Дед Пахом

Developer
Ветеран
Сообщения: 551
Зарегистрирован: 26 Март 2012, 17:18

Обнаружить аварийное завершение работы Windows, SQL Server & Application для запуска валидации баз данных

Сообщение Developer »

Привет всем!

Необходимо обнаружить аварийное завершение работы Windows, SQL Server & Application для запуска валидации баз данных.

Каким образом это сделать используя код Clarion?
Последний раз редактировалось Developer 04 Апрель 2016, 16:19, всего редактировалось 2 раза.
С Уважением, Developer
Аватара пользователя
Admin
Администратор
Сообщения: 3959
Зарегистрирован: 05 Июль 2005, 15:59
Откуда: Хабаровск
Благодарил (а): 25 раз
Поблагодарили: 22 раза
Контактная информация:

Обнаружить аварийное завершение работы Windows для запуска валидации баз данных

Сообщение Admin »

Ищем в гугле строку "How can I get the Windows last reboot reason"
Скорее всего придется копаться в логе.
После загрузки винда обычно пишет туда что предыдущее выключение было не запланировано и т.д.
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
gopstop2007
✯ Ветеран ✯
Сообщения: 1702
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 9 раз
Поблагодарили: 4 раза

Обнаружить аварийное завершение работы Windows для запуска валидации баз данных

Сообщение gopstop2007 »

а не проще проверка при открытии программы как была закрыта программа? :cat:
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7324
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Обнаружить аварийное завершение работы Windows для запуска валидации баз данных

Сообщение Игорь Столяров »

Developer писал(а): Необходимо обнаружить аварийное завершение работы Windows
Согласен с предыдущим замечанием.
Валидация данных может потребоваться и при аварийном завершении работы ПРИЛОЖЕНИЯ (при нормальной работе Windows).
Поэтому мне кажется, что более правильно отслеживать именно аварийное завершение работы ПРИЛОЖЕНИЯ.
Делается элементарно. При запуске программы заводим запись в лог-файл, при завершении-удаляем (+ дата / время / компьютер).
Есть записи - значит программа не завершила работу штатно и т.д.

А чем штатная система отката незавершенных транзакций COMMIT/ROLLBACK не устраивает ?
За теми кто отстал - не возвращаться. (С) Кодекс
kreator
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

Обнаружить аварийное завершение работы Windows для запуска валидации баз данных

Сообщение kreator »

Игорь Столяров писал(а):А чем штатная система отката незавершенных транзакций COMMIT/ROLLBACK не устраивает ?
А SQL сервера сами всё делают. А если БД разрушена так что надо из архива её доставать? Автоматизировать процесс форс-мажора?
We are hard at work… for you. :)
Developer
Ветеран
Сообщения: 551
Зарегистрирован: 26 Март 2012, 17:18

Обнаружить аварийное завершение работы Windows для запуска валидации баз данных

Сообщение Developer »

kreator писал(а): Автоматизировать процесс форс-мажора?
Вот точное определение задачи! :D
Игорь Столяров писал(а): Поэтому мне кажется, что более правильно отслеживать именно аварийное завершение работы ПРИЛОЖЕНИЯ.
Согласен, но не полностью: база на одном компьютере, приложение по сети на другом.

Приложение работает а сервер с базами аварийно завершил работу :(

Необходим алгоритм автоматической проверки аварийного завершения работы приложения, операционной системы и SQL сервера для оценки целостности баз данных в коде Clarion без участия пользователя - системного администратора нет по определению :D

Какие есть идеи и возможные решения?
С Уважением, Developer
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7324
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Обнаружить аварийное завершение работы Windows для запуска валидации баз данных

Сообщение Игорь Столяров »

Developer писал(а): Какие есть идеи и возможные решения?
Чудес не бывает. Сложная информационная система и в штатном-то режиме работы требует сопровождения.
Чего уж говорить об аварии. Лучше все-таки проплатить ботана, который за всем этим будет следить ... :)
За теми кто отстал - не возвращаться. (С) Кодекс
Developer
Ветеран
Сообщения: 551
Зарегистрирован: 26 Март 2012, 17:18

Обнаружить аварийное завершение работы Windows, SQL Server & Application для запуска валидации баз данных

Сообщение Developer »

Игорь Столяров писал(а): Чудес не бывает. Сложная информационная система и в штатном-то режиме работы требует сопровождения.
Чего уж говорить об аварии. Лучше все-таки проплатить ботана, который за всем этим будет следить ... :)
Игорь, согласен с тобой.

Но ситуация сейчас на рынке информационных технологий, особенно в мелком бизнесе, на спаде экономики такова, что платить заказчики программного обеспечения ещё кому-то не очень желают. :(

Вот отсюда и вытекают эти вопросы: давай заказчику полную автоматизацию форс-мажорных обстоятельств :D
С Уважением, Developer
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7324
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Обнаружить аварийное завершение работы Windows, SQL Server & Application для запуска валидации баз данных

Сообщение Игорь Столяров »

Developer писал(а): давай заказчику полную автоматизацию форс-мажорных обстоятельств
Таблетки от всего не бывает. Наверно, можно выработать ряд сценариев (!) развития форс-мажора и реакции
системы на них. Есть какие-то показатели отказоустойчивости, например тех же БД. Обеспечение уровня
устойчивости с применением аппаратно-программных средств (RAID, теневые копии БД и т.д.).
Если говорить о программной реализации, то все равно должен быть четкий список: "что случилось" и "наши действия".
Надо начать с этого.

Ботан лучше. Ему можно звонить ночью и спрашивать почему сайт не работает ... :idied:
За теми кто отстал - не возвращаться. (С) Кодекс
Developer
Ветеран
Сообщения: 551
Зарегистрирован: 26 Март 2012, 17:18

Обнаружить аварийное завершение работы Windows, SQL Server & Application для запуска валидации баз данных

Сообщение Developer »

Игорь Столяров писал(а): Если говорить о программной реализации, то все равно должен быть четкий список: "что случилось" и "наши действия".
Вот это по существу!

Пытаюсь для начала разработать алгоритм на указанные аварийные события и методы их реализации. Поэтому и прошу высказывать идеи. :D
С Уважением, Developer
gopstop2007
✯ Ветеран ✯
Сообщения: 1702
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 9 раз
Поблагодарили: 4 раза

Обнаружить аварийное завершение работы Windows, SQL Server & Application для запуска валидации баз данных

Сообщение gopstop2007 »

уже неоднократно про это писалось, вот похожее решение от Yufil http://forum.clarionlife.net/phpbb/view ... 338#p21178 :cat:
и что мешает на сервере создать таблицу с коннектами и при входе сервера их проверять на завершение-закрытие приложений клиентов?!
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
Yufil
Ветеран движения
Сообщения: 1277
Зарегистрирован: 16 Май 2006, 14:34
Контактная информация:

Обнаружить аварийное завершение работы Windows, SQL Server & Application для запуска валидации баз данных

Сообщение Yufil »

Делал в своё время программу, которая и в случае падения сервера пристойно себя вела.
Программа перехватывала сообщение от MS SQL и аккуратно завершалась (или рестартовала, если юзер хотел), если было совсем никак...
В противном случае Browse выдавала кучу непонятных сообщений, которые операторы транслировали админам...
А с коннектами на сервере голову сломал :)
gopstop2007
✯ Ветеран ✯
Сообщения: 1702
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 9 раз
Поблагодарили: 4 раза

Обнаружить аварийное завершение работы Windows, SQL Server & Application для запуска валидации баз данных

Сообщение gopstop2007 »

Создать таблицу пользователей или № приложения клиента №Киент, как кому удобно :)
Открыл приложение №Киент записалась в таблицу 1, при выходе ставим 0.
Не вышли из приложения висит 1.
Завис сервер или перезагрузился, запрос(курсор) по (Пользователь или само приложение имеет №), если есть хоть одна единица то тогда нужное действие с БД... Как то так
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
Yufil
Ветеран движения
Сообщения: 1277
Зарегистрирован: 16 Май 2006, 14:34
Контактная информация:

Обнаружить аварийное завершение работы Windows, SQL Server & Application для запуска валидации баз данных

Сообщение Yufil »

Работаем, не вышли из приложения - висит 1
Пьём кофе, не вышли из приложения - висит 1
Ушли вечером, не вышли из приложения - висит ...
Выключили компьютер, не вышли из приложения - см.выше
Приложение грохнулось и ...

Если висит 1 - есть кто на сервере или как?

Приложение может время от времени "пинговать" сервер и напоминать о своём существовании, прописывая дату и время своей активности или как-то протоколировать действия оператора. Тогда - да, легко определить. А одного флажка, пожалуй что, и не хватит.
Developer
Ветеран
Сообщения: 551
Зарегистрирован: 26 Март 2012, 17:18

Обнаружить аварийное завершение работы Windows, SQL Server & Application для запуска валидации баз данных

Сообщение Developer »

Yufil писал(а): Делал в своё время программу, которая и в случае падения сервера пристойно себя вела.
Программа перехватывала сообщение от MS SQL и аккуратно завершалась (или рестартовала, если юзер хотел), если было совсем никак...
В противном случае Browse выдавала кучу непонятных сообщений, которые операторы транслировали админам...
А с коннектами на сервере голову сломал :)
Юрий, могут ли быть доступны исходники Clarion для нас по этой теме?
С Уважением, Developer
Ответить