Снижение времени простоя зеркальных баз данных при обновлении экземпляров сервера
При обновлении экземпляров сервера до SQL Server 2014 можно сократить время простоя каждой зеркальной базы данных до одного перехода на другой ресурс вручную, выполнив последовательное обновление, известное как последовательное обновление. Последовательное обновление является многоэтапным процессом, который в самом простом случае заключается в обновлении экземпляра сервера, который выступает в роли зеркального сервера в сеансе зеркального отображения, и последующего перехода на зеркальную базу данных вручную, обновления сервера, бывшего основным, и возобновления зеркального отображения. Набор операций, фактически применяемый на практике, будет зависеть от режима работы, а также от количества и структуры сеансов зеркального отображения, активных в обновляемых экземплярах сервера.
Примечание
Сведения о последовательном обновлении для установки пакета обновления или исправления см. в статье Установка пакета обновления в системе с минимальным временем простоя для зеркальных баз данных.
Рекомендуемые подготовительные действия (рекомендации)
Перед запуском последовательного обновления рекомендуется выполнить следующие действия.
Выполните пробную отработку отказа вручную по крайней мере в одном из сеансов зеркального отображения:
Переключение сеанса зеркального отображения базы данных на другой ресурс вручную (язык Transact-SQL).
Примечание
Дополнительные сведения об отработке отказа вручную см. в статье Переключение ролей во время сеанса зеркального отображения базы данных (SQL Server).
Обеспечьте защиту данных.
Создайте полную резервную копию каждой основной базы данных.
Выполните команду DBCC CHECKDB в каждой основной базе данных.
Этапы последовательного обновления
Конкретная последовательность действий в ходе последовательного обновления зависит от режима работы конфигурации зеркального отображения. Однако основные этапы остаются одинаковыми.
Примечание
Сведения о режимах работы см. в разделе Режимы работы зеркального отображения базы данных.
Блок-схема на следующем рисунке показывает основные этапы последовательного обновления для каждого режима работы. После рисунка описаны соответствующие процедуры.
Важно!
Экземпляр сервера может одновременно исполнять различные роли зеркального отображения (основной сервер, зеркальный сервер или следящий сервер) в параллельных сеансах зеркального отображения. В этом случае придется соответствующим образом адаптировать процесс последовательного обновления. Дополнительные сведения см. в разделе Переключение ролей во время сеанса зеркального отображения базы данных (SQL Server).
Изменение режима сеанса с высокопроизводительного на режим высокой безопасности
Если сеанс зеркального отображения выполняется в высокопроизводительном режиме, перед выполнением последовательного обновления измените его на режим высокой безопасности без автоматической отработки отказа.
Важно!
Если зеркальный сервер географически удален от основного, то последовательное обновление может оказаться неподходящим вариантом.
В SQL Server Management Studio: измените параметр Режим работы на Высокая безопасность без автоматической отработки отказа (синхронный) с помощью страницы Зеркальное отображение диалогового окна Свойства базы данных. Дополнительные сведения о доступе к этой странице см. в статье Запуск мастера настройки безопасности зеркального отображения баз данных (среда SQL Server Management Studio).
В Transact-SQL: установите безопасность транзакций как FULL. Дополнительные сведения см. в статье Изменение безопасности транзакций в сеансах зеркального отображения базы данных (Transact-SQL).
Удаление следящего сервера из сеанса
Если сеанс зеркального отображения включает следящий сервер, рекомендуется удалить его перед выполнением последовательного обновления. В противном случае при обновлении экземпляра зеркального сервера доступность базы данных будет зависеть от следящего сервера, остающегося подключенным к экземпляру основного сервера. После удаления следящего сервера его можно обновить в любой момент во время последовательного обновления, без дополнительного простоя базы данных.
Примечание
Дополнительные сведения см. в статье Кворум. Как следящий сервер влияет на доступность базы данных (зеркальное отображение базы данных).
Выполнение последовательного обновления
Чтобы свести к минимуму время простоя, необходимо выполнить следующие рекомендации. Начните пошаговое обновление с обновления участника зеркального отображения, который в настоящий момент является зеркальным сервером во всех сеансах зеркального отображения. На этом этапе, возможно, придется обновить несколько экземпляров сервера.
Примечание
Следящий сервер можно обновить в любой момент пошагового обновления. Например, если экземпляр сервера является зеркальным сервером в сеансе 1 и следящим сервером в сеансе 2, этот сервер можно обновить сразу.
Экземпляр сервера, который следует обновлять в первую очередь, зависит от текущей конфигурации сеансов зеркального отображения следующим образом.
Если какой-либо экземпляр сервера уже является зеркальным сервером во всех сеансах зеркального отображения, обновите его до новой версии.
Если все экземпляры сервера в настоящий момент являются основным сервером в одном из сеансов зеркального отображения, выберите для обновления один экземпляр сервера. Затем вручную переведите на другой ресурс каждую из его основных баз данных и обновите экземпляр сервера.
После обновления экземпляр сервера автоматически подключится к сеансам зеркального отображения.
В каждом сеансе зеркального отображения, зеркальный сервер которого был обновлен, дождитесь окончания синхронизации сеанса. Затем подключитесь к экземпляру основного сервера и вручную переведите этот сеанс на другой ресурс. При отработки отказа обновленный сервер становится основным сервером для этого сеанса, а бывший основной сервер становится зеркальным.
Цель этого этапа — сделать другой экземпляр сервера зеркальным во всех сеансах зеркального отображения, в которых он участвует.
Ограничения, возникающие после перехода на обновленную отработку отказа сервера.
После отработки отказа из более раннего экземпляра сервера в экземпляр сервера SQL Server 2014 сеанс базы данных приостанавливается. Его нельзя возобновить, пока не будет обновлен другой участник. Однако основной сервер принимает подключения и разрешает доступ и изменение данных в основной базе данных.
Примечание
Для установки нового сеанса зеркального отображения требуется, чтобы на всех участниках работала одинаковая версия SQL Server.
После отработки отказа рекомендуется выполнить команду DBCC CHECKDB в базе данныхprincipal.
Обновите каждый экземпляр сервера, который в настоящий момент является зеркальным сервером во всех сеансах зеркального отображения, в которых он участвует. На этом этапе, возможно, придется обновить несколько серверов.
Важно!
В сложной конфигурации зеркального отображения некоторые экземпляры сервера могут все еще исполнять роль основного сервера в одном или нескольких сеансах зеркального отображения. Повторите шаги 2–4 для этих экземпляров серверов, пока не будут обновлены все вовлеченные в этот процесс экземпляры.
Возобновление сеанса зеркального отображения.
Примечание
Автоматическая отработка отказа не будет работать, пока следящий сервер не будет обновлен и возвращен в сеанс зеркального отображения.
Обновите все оставшиеся экземпляры сервера, являющиеся следящими во всех сеансах зеркального отображения. После подключения обновленного следящего сервера к сеансу зеркального отображения становится возможным автоматическая отработка отказа. На этом этапе, возможно, придется обновить несколько серверов.
Возвращение сеанса в высокопроизводительный режим
При необходимости вернитесь в высокопроизводительный режим, используя один из следующих методов.
В SQL Server Management Studio: измените параметр Режим работы на Высокая производительность (асинхронный) с помощью страницы Зеркальное отображение диалогового окна Свойства базы данных.
В Transact-SQL: с помощью команды ALTER DATABASE установите безопасность транзакций в значение OFF.
Возвращение следящего сервера в сеанс зеркального отображения
При необходимости в режиме высокой безопасности повторно соедините следящий сервер со всеми сеансами зеркального отображения.
Возврат следящего сервера
См. также:
Зеркальное отображение базы данных ALTER DATABASE (Transact-SQL)
BACKUP (Transact-SQL)
Просмотр состояния зеркального отображения базы данных (среда SQL Server Management Studio)
Зеркальное отображение базы данных (SQL Server)
Установка пакета обновления на систему с минимальным временем простоя для зеркально отображаемых баз данных
Переключение ролей во время сеанса зеркального отображения базы данных (SQL Server)
Принудительный запуск службы в сеансе зеркального отображения базы данных (Transact-SQL)
Запуск монитора зеркального отображения баз данных (среда SQL Server Management Studio)
Режимы работы зеркального отображения базы данных