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