Можно сделать это с monit. Например, чтобы предупредить и перезапустить mysql, принимая Вас выполняет monit на 60 вторых циклах:
check process mysqld
with pidfile /var/run/mysqld.pid
if cpu usage > 99% for 10 cycles then alert
if cpu usage > 99% for 10 cycles then restart
monit очень гибок и может сделать в значительной степени любой вид контроля процессов, памяти, и т.д. можно думать.
Это могло, вероятно, быть сделано с наблюдателем PS также, но трудно заставить наблюдателя PS помнить этот вид состояния и действовать на него. monit является правильным инструментом для использования.
Если ваша база данных находится в режиме полного восстановления и цепочка транзакций не разорвана (у вас есть резервная копия + журнал транзакций с момента последней полной резервной копии), возможно, можно будет восстановить некоторые или даже все данные, проанализировав журнал транзакций.
Если журнал транзакций находится в режиме полного восстановления, тогда транзакции регистрируются и могут быть прочитаны из t-log, но, к сожалению, это непростая задача.
Вы можете попробовать прочитать его самостоятельно, используя команду DBCC LOG или сторонние инструменты, такие как ApexSQL Log или Quest Toad