Назад | Перейти на главную страницу

Зеркальное отображение базы данных SQL-сервера

У меня есть две базы данных, которые зеркалируются на другой сервер с помощью зеркального отображения базы данных. По какой-то причине зеркальный сервер не работает в течение нескольких дней. Теперь на рабочем сервере основные базы данных находятся в состоянии (ОСНОВНОЕ / ОТКЛЮЧЕНО). Клиенты могут получить доступ к этим базам данных. Так что же происходит, когда они продолжают добавлять данные в эти базы данных? Будут ли данные зафиксированы или дождаться появления зеркала?

Данные будут зафиксированы, в противном случае зеркальное отображение будет известно как функция «высокой недоступности». Журналы на главном сервере будут расти, так как они должны содержать все транзакции, которые не были отправлены на зеркало. Когда в конце концов зеркало вернется к работе, принципал покажет PRINCIPAL / SYNCHRONIZING, так как журнал будет отправлен на зеркало. Журнал (-ы) начнут освобождаться по мере отправки транзакций на зеркало. Когда все транзакции будут получены зеркалом, принципал перейдет в состояние ПРИНЦИПАЛЬНЫЙ / СИНХРОНИЗИРОВАННЫЙ. В зависимости от типа зеркалирования (синхронное / асинхронное) в этом состоянии клиенты может дождитесь, пока все транзакции будут отправлены на зеркало при фиксации.

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