Несколько месяцев назад я помню, как у меня возникла проблема с некоторыми базами данных, которые я администрировал, и проблема заключалась в том, что я никогда не знал, произошел ли отказ базы данных в кластере или в среде высокой доступности (среда, в которой время простоя недопустимо/непрерывно работает). Поэтому я решил написать скрипт, который бы отслеживал аварийные переключения базы данных всякий раз, когда они происходили (вручную или автоматически).

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

Действия по мониторингу отказоустойчивости базы данных:

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

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

В приведенном выше сценарии показано, как временная таблица создается в основной таблице. Столбец replica_status хранит текущее значение состояния отказоустойчивости БД, т. е. является ли она все еще первичной или вторичной. Затем это значение сравнивается со значением состояния аварийного переключения базы данных, и если есть какие-либо изменения, оно отправляет письмо, чтобы уведомить участников, если произошло какое-либо аварийное переключение.

2. Вставка значений во временную таблицу. После того как временная таблица была создана выше, следующим шагом будет вставка значений в два столбца таблицы. Примечание. Требуется только одна строка.

3. Сценарий для мониторинга аварийного переключения. Следующим шагом является создание запланированного задания в SQL Server, а затем размещение сценария аварийного переключения в окне задания, которое будет запускаться по расписанию администратором баз данных.

Примечание. Чтобы это работало, вы должны создать и включить почтовый профиль и оповещения в SQL Server.

Первоначально опубликовано на сайте ainaleke.wordpress.com 30 января 2015 г.