Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Во время переключения ролей продолжительность простоя зеркалирования базы данных зависит от типа переключения и причины этого переключения.
Для автоматического аварийного переключения два фактора способствуют прерыванию работы службы: время, необходимое зеркальному серверу для распознавания сбоя основного экземпляра сервера, то есть обнаружения ошибки, а также время, необходимое для аварийного переключения базы данных, то есть время переключения.
Для операции принудительной службы, хотя произошел сбой, обнаружение и реагирование на сбой зависят от человеческой реакции. Однако оценка потенциального прерывания службы ограничена оценкой времени переключения ролей зеркального сервера после выдачи принудительной команды службы.
Замечание
Чтобы сократить время, необходимое для обнаружения определенных условий, таких как некоторые типы ошибок, можно определить оповещения для этих условий.
Только время, необходимое для переключения базы данных на резерв после вручного выполнения команды переключения.
Обнаружение ошибок
Время, когда система заметит ошибку, зависит от типа ошибки; Например, сетевая ошибка замечается почти мгновенно, при этом замечая сервер, который не отвечает, занимает 10 секунд (с временем ожидания по умолчанию).
Сведения об ошибках, которые могут вызвать сбой во время сеанса зеркального отображения базы данных, а также об обнаружении тайм-аута в режиме высокой безопасности с автоматической отработкой отказа, см. в разделе «Возможные сбои во время зеркального отображения базы данных».
Время переключения на резервный режим
Время отработки отказа состоит в основном из времени, когда бывший зеркальный сервер должен перекатить любой журнал, оставшийся в очереди повторного входа, а также короткое дополнительное время (дополнительные сведения о том, как зеркальный сервер обрабатывает записи журнала, см. в разделе "Зеркальное отображение базы данных" (SQL Server)). Дополнительные сведения об оценке времени отработки отказа см. в разделе "Оценка частоты повтора отработки отказа" далее в этом разделе.
Это важно
Если происходит переключение при отказе во время транзакции, при которой создается индекс или таблица, а затем изменяется, переключение при отказе может занять больше времени, чем обычно. Например, переключение при отказе во время следующей серии операций может увеличить время переключения при отказе: BEGIN TRANSACTION, CREATE INDEX на таблицу и SELECT INTO. Возможность увеличения времени переключения на резервный сервер во время такой транзакции сохраняется до тех пор, пока она не будет завершена с помощью инструкции COMMIT TRANSACTION или ROLLBACK TRANSACTION.
Очередь повтора
Продвижение базы данных вперед включает применение любых записей журнала, находящихся в очереди повторного выполнения на зеркальном сервере. Очередь повтора состоит из записей журнала, записанных на диск на зеркальном сервере, но еще не перенесенных в зеркальную базу данных.
Время переключения при отказе для базы данных зависит от того, насколько быстро зеркальный сервер может восстановить журнал в очереди выполнения, что, в свою очередь, в первую очередь определяется системным оборудованием и текущей рабочей нагрузкой. Возможно, основная база данных может быть настолько перегружена, что основной сервер отправляет журнал на зеркальный сервер гораздо быстрее, чем тот может продвинуть журнал вперед. В этой ситуации использование резервного сервера может занять значительное время, пока зеркальный сервер продолжает обработку журнала в очереди повторного выполнения. Чтобы узнать текущий размер очереди операции повторной записи, используйте счетчик Redo Queue в объекте производительности зеркалирования базы данных. Дополнительные сведения см. в разделе SQL Server, объект зеркального отображения базы данных.
Оценка частоты повтора отработки отказа
Вы можете измерить время, необходимое для переката записей журнала с частотой повтора, с помощью тестовой копии рабочей базы данных.
Метод оценки времени переноса вперёд во время отработки отказа зависит от количества потоков зеркального сервера, используемых на этапе повторной обработки. Количество потоков зависит от следующего:
В SQL Server Standard зеркальный сервер всегда использует один поток для переката базы данных.
В SQL Server Enterprise зеркальные серверы на компьютерах с менее чем пятью ЦП также используют только один поток. С пятью или более ЦПУ зеркальный сервер распределяет операции восстановления между несколькими потоками при переключении при отказе (это называется параллельным воспроизведением). Параллельное восстановление оптимизировано для использования одного потока для каждых четырех ЦП.
Оценка частоты повтора Single-Threaded
Для однопоточного восстановления зеркальной базы данных в процессе переключения на резервный сервер требуется примерно столько же времени, сколько и на восстановление резервной копии журнала для переноса такого же объема журнала вперёд. Чтобы оценить время переключения, создайте тестовую базу данных в среде, в которой вы собираетесь выполнить зеркалирование. Затем создайте резервную копию журнала из рабочей базы данных. Чтобы измерить скорость повторного выполнения для этого резервного копирования журнала, зафиксируйте, сколько времени уходит на восстановление резервной копии журнала с параметром NORECOVERY в тестовую базу данных.
После того как вы узнаете скорость переопределения зеркального сервера, вы сможете оценить время переключения на резервный сервер в определенный момент времени, разделив объем текущего журнала, подлежащего восстановлению на зеркальном сервере (измеряемый счетчиком производительности очереди Redo), на скорость переопределения. В обычных условиях, если зеркальный сервер может справляться с нагрузкой от главного сервера, очередь повторной обработки невелика или близка к нулю, и отработка отказа занимает всего несколько секунд.
Оценка скорости параллельного восстановления
В SQL Server Enterprise параллельный редо оптимизирован для использования одного потока на каждые четыре ЦП. Чтобы оценить время восстановления для параллельного повтора, точнее получить доступ к активной тестовой системе, чем к тестовой базе данных. При мониторинге очереди повторного входа на зеркальном сервере увеличьте нагрузку на основной сервер. В нормальном режиме работы очередь повторов близка к нулю. Увеличьте нагрузку на основной сервер до тех пор, пока очередь повторного выполнения не будет постоянно увеличиваться; Затем система находится в максимальной частоте повтора, а счетчик производительности Redo Bytes/sec на этом этапе представляет максимальную частоту повтора. Дополнительные сведения см. в разделе SQL Server, объект зеркального отображения базы данных.
Оценка перерыва в предоставлении услуг во время автоматического переключения на резервный сервис
На следующем рисунке показано, как обнаружение ошибок и время отработки отказа способствуют общему времени, необходимому для автоматической отработки отказа на Partner_B. Отказоустойчивость требует времени для восстановления базы данных (фаза повторного выполнения), а также небольшого времени для активации базы данных онлайн. Этап отмены, который включает откат любых незафиксированных транзакций, происходит после перевода новой основной базы данных в онлайн-режим и продолжается после переключения на резервную. База данных доступна на этапе отмены.
См. также
Режимы работы зеркалирования базы данныхПереключение ролей во время сеанса зеркалирования базы данных (SQL Server). Мониторинг зеркалирования базы данных (SQL Server)