Поделиться через


Минимизация простоя зеркальных баз данных при обновлении экземпляров сервера

При обновлении экземпляров сервера до SQL Server 2014 можно сократить время простоя для каждой зеркальной базы данных до одного ручного переключения, выполнив шаговое обновление, известное как шаговое обновление. Поэтапное обновление — это многоэтапный процесс, который в простейшей форме включает обновление экземпляра сервера, который в настоящее время действует как зеркальный сервер в сеансе зеркального отображения, затем выполнение отказоустойчивого переключения зеркальной базы данных вручную, обновление бывшего основного сервера и возобновление сеанса зеркалирования. На практике точный процесс будет зависеть от режима работы и количества и расположения сеансов зеркалирования, которые работают на обновляемых экземплярах сервера.

Замечание

Сведения о последовательном обновлении для установки пакета обновления или исправления см. в статье "Установка пакета обновления в системе с минимальным временем простоя для зеркальных баз данных".

Рекомендуемая подготовка (рекомендации)

Перед началом последовательного обновления рекомендуется:

  1. Выполните ручное переключение на резервную систему по крайней мере в одной из сессий зеркального отображения.

    Замечание

    Сведения о том, как работает отработка отказа вручную, см. в разделе "Переключение ролей во время сеанса зеркального отображения базы данных" (SQL Server).

  2. Защита данных:

    1. Выполните полную резервную копию базы данных для каждой основной базы данных:

      Создайте полную резервную копию базы данных (SQL Server).

    2. Выполните команду DBCC CHECKDB в каждой основной базе данных.

Этапы последовательного обновления

Конкретные шаги последовательного обновления зависят от режима работы конфигурации зеркального отображения. Однако основные этапы одинаковы.

Замечание

Сведения о режимах работы см. в разделе "Режимы работы зеркального отображения базы данных".

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

Блок-схема, показывающая шаги последовательного обновления

Это важно

Экземпляр сервера может выполнять различные роли зеркального отображения (основной сервер, зеркальный сервер или следящий сервер) в параллельных сеансах зеркального отображения. В этом случае необходимо адаптировать базовый процесс последовательного обновления соответствующим образом. Дополнительные сведения см. в разделе "Переключение ролей во время сеанса зеркального отображения базы данных" (SQL Server).

Изменение сеанса с режима высокой производительности на режим высокой безопасности

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

    Это важно

    Если зеркальный сервер географически удален от основного сервера, то последовательное обновление может оказаться неуместным.

Удалить свидетеля из сеанса

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

Выполнение постепенного обновления

  1. Чтобы свести к минимуму время простоя, рекомендуется выполнить последовательное обновление, обновив любого партнера по зеркальному копированию, который в настоящее время является сервером-зеркалом во всех сеансах зеркального копирования. На этом этапе может потребоваться обновить несколько экземпляров сервера.

    Замечание

    Свидетель может быть обновлен в любой момент в процессе последовательного обновления. Например, если экземпляр сервера является зеркальным сервером в сеансе 1 и является свидетелем в сеансе 2, вы можете обновить экземпляр сервера.

    Экземпляр сервера для обновления сначала зависит от текущей конфигурации сеансов зеркального отображения, как показано ниже.

    • Если серверный экземпляр уже является зеркальным сервером во всех сеансах зеркалирования, обновите серверный экземпляр до новой версии.

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

    После обновления экземпляр сервера автоматически вновь подключается к каждому из своих сеансов репликации.

  2. Для каждого сеанса зеркального отображения, экземпляр зеркального сервера которого только что был обновлён, подождите его синхронизации. Затем подключитесь к экземпляру основного сервера и вручную переключите сеанс на резервный. При отказоустойчивости обновленный экземпляр сервера становится основным сервером сеанса, а предыдущий основной сервер становится зеркальным сервером.

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

    Ограничения после переключения на обновленный экземпляр сервера.

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

    Замечание

    Для создания нового сеанса зеркального отображения требуется, чтобы все экземпляры сервера работали с одной и той же версией SQL Server.

  3. После переключения мы рекомендуем запустить команду DBCC CHECKDB в основной базе данных.

  4. Обновите каждый экземпляр сервера, который теперь является зеркальным сервером во всех сессиях зеркалирования, где он выступает в роли партнера. На этом этапе может потребоваться обновить несколько серверов.

    Это важно

    В сложной конфигурации зеркального отображения некоторый экземпляр сервера по-прежнему может быть исходным основным сервером в одном или нескольких сеансах зеркального отображения. Повторите шаги 2–4 для указанных экземпляров сервера, пока не будут обновлены все экземпляры.

  5. Возобновите сеанс зеркального отображения.

    Замечание

    Автоматическое переключение в случае отказа не будет работать, пока диспетчер не будет обновлен и добавлен обратно в сеанс зеркального отображения.

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

Возврат сеанса в режим высокой производительности

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

    • В SQL Server Management Studio: измените режим работы на высокопроизводительный (асинхронный) с помощью диалогового окна " Зеркальное отображение " диалогового окна "Свойства базы данных ".

    • В Transact-SQL: используйте ALTER DATABASE, чтобы отключить безопасность транзакций.

Добавление свидетеля обратно в сеанс зеркального отображения

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

    Возвращение свидетеля

См. также

ALTER DATABASE Зеркальное отображение базы данных (Transact-SQL)
BACKUP (Transact-SQL)
Просмотр состояния зеркалированной базы данных (SQL Server Management Studio)
Зеркалирование базы данных (SQL Server)
Установка пакета обновления в системе с минимальным временем простоя для зеркальных баз данных
Переключение ролей во время сеанса зеркального отображения базы данных (SQL Server)
Принудительное выполнение службы в сеансе зеркального отображения базы данных (Transact-SQL)
Запуск монитора зеркалирования баз данных (SQL Server Management Studio)
Режимы работы зеркального отображения базы данных