Настройка резервных копий вторичных реплик группы доступности Always On

Область применения: SQL Server (все поддерживаемые версии)

В этом разделе описывается настройка резервной копии вторичной реплики для группы доступности Always On с помощью SQL Server Management Studio, Transact-SQL или PowerShell в SQL Server.

Примечание

Дополнительные сведения см. в статье о резервном копировании во вторичных репликах (группы доступности Always On).

Предварительные условия

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

Примечание

Вторичная реплика не обязана быть доступна для чтения, чтобы можно было разгрузить на нее резервные копии. Резервные копии по-прежнему будут успешно создаваться на вторичной реплике, даже если для Readable Secondary установлено значение no.

Разрешения

Задача Разрешения
Настройка резервного копирования во вторичных репликах при создании группы доступности Требуется членство в фиксированной роли сервера sysadmin и одно из разрешений: CREATE AVAILABILITY GROUP, ALTER ANY AVAILABILITY GROUP или CONTROL SERVER.
Изменение группы доступности или реплики доступности Необходимо разрешение ALTER AVAILABILITY GROUP для группы доступности, разрешение CONTROL AVAILABILITY GROUP, разрешение ALTER ANY AVAILABILITY GROUP или разрешение CONTROL SERVER.

Использование среды SQL Server Management Studio

Настройка резервного копирования во вторичных репликах

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

  2. Разверните узел Высокий уровень доступности AlwaysOn и узел Группы доступности .

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

  4. В диалоговом окне Свойства групп доступности перейдите на страницу Настройки резервного копирования .

  5. На панели Где должно происходить резервное копирование? выберите один из способов автоматизированного резервного копирования для группы доступности:

    Предпочтение вторичной
    Указывает, что резервное копирование должно выполняться на вторичной реплике, за исключением тех случаев, когда в режиме «в сети» находится только первичная реплика. В этом случае резервное копирование будет выполняться на первичной реплике. Это параметр по умолчанию.

    Только вторичная
    Указывает, что резервное копирование никогда не выполняется на первичной реплике. Если первичная реплика является единственной репликой, находящейся в режиме «в сети», резервное копирование не будет выполняться.

    Источник
    Указывает, что резервное копирования должно всегда выполняться на первичной реплике. Данный параметр является полезным, если вам требуются такие функции резервного копирования, как создание разностных резервных копий, которые не поддерживаются при выполнении резервного копирования на вторичной реплике.

    Важно!

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

    Любая реплика
    Указывает, что вы предпочитаете, чтобы задания резервного копирования пропускали реплики доступности при выборе реплики для создания резервных копий. Примечание. Задания резервного копирования могут учитывать другие факторы, например приоритет резервного копирования каждой реплики доступности в сочетании с ее состоянием работоспособности и подключения.

    Важно!

    Принудительного применения параметра автоматического резервного копирования не существует. Интерпретация данного приоритета зависит от логики (при ее наличии), которая внесена в задания резервного копирования для баз данных в указанной группе доступности. Параметр автоматического резервного копирования не влияет на выполнение нерегламентированного резервного копирования. Дополнительные сведения см. далее в разделе Дальнейшие действия. После настройки резервного копирования во вторичных репликах .

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

    Экземпляр сервера
    Имя экземпляра SQL Server , в котором размещается группа доступности.

    Приоритет резервного копирования (низкий = 1, высокий = 100)
    Указывает приоритет выполнения резервного копирования на данной реплике по отношению к другим репликам из той же группы доступности. Значение представляет собой целое число в диапазоне от 0 до 100. 1 указывает минимальный приоритет, 100 — наивысший приоритет. Если Backup Priority = 1, реплика доступности будет выбрана для создания резервных копий только в случае, если реплики доступности с более высоким приоритетом отсутствуют.

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

  7. Для фиксации изменений нажмите кнопку ОК.

Альтернативные пути доступа к странице настройки резервного копирования

Использование Transact-SQL

Настройка резервного копирования во вторичных репликах

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

  2. Для новой группы доступности используйте инструкцию Transact-SQL CREATE AVAILABILITY GROUP. При изменении существующей группы доступности воспользуйтесь инструкцией Transact-SQL ALTER AVAILABILITY GROUP.

Использование PowerShell

Настройка резервного копирования во вторичных репликах

  1. Установите значение по умолчанию (cd) равным экземпляру сервера, на котором размещена первичная реплика.

  2. При необходимости настройте приоритет каждой реплики доступности, которую необходимо добавить или изменить. Этот приоритет используется экземпляром сервера, на котором размещается первичная реплика, при принятии решения о том, какая реплика должна обработать запрос автоматического резервного копирования для базы данных в группе доступности (выбирается реплика с максимальным приоритетом). Значением приоритета может быть любое целое число от 0 до 100 включительно. Приоритет 0 указывает, что реплика не должна считаться кандидатом на обработку запросов резервного копирования. Значение по умолчанию — 50.

    При добавлении реплики доступности в группу доступности воспользуйтесь командлетом New-SqlAvailabilityReplica . При изменении существующей реплики доступности воспользуйтесь командлетом Set-SqlAvailabilityReplica . В любом случае укажите параметр BackupPriorityn , где n представляет собой значение от 0 до 100.

    Например, следующая команда присваивает приоритету резервного копирования реплики доступности MyReplica значение 60.

    Set-SqlAvailabilityReplica -BackupPriority 60 `  
    -Path SQLSERVER:\Sql\Computer\Instance\AvailabilityGroups\MyAg\AvailabilityReplicas\MyReplica  
    
  3. При необходимости выполните настройку автоматического резервного копирования для группы доступности, которая создается или изменяется. Этот параметр указывает, как задание резервного копирования вычисляет первичную реплику при выборе места для создания резервных копий. Значение по умолчанию предпочитают вторичные реплики.

    При создании группы доступности используйте командлет New-SqlAvailabilityGroup . При изменении существующей группы доступности используйте командлет Set-SqlAvailabilityGroup . В любом случае укажите параметр AutomatedBackupPreference .

    где

    Источник
    Указывает, что резервное копирования должно всегда выполняться на первичной реплике. Данный параметр является полезным, если вам требуются такие функции резервного копирования, как создание разностных резервных копий, которые не поддерживаются при выполнении резервного копирования на вторичной реплике.

    Важно!

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

    SecondaryOnly
    Указывает, что резервное копирование никогда не выполняется на первичной реплике. Если первичная реплика является единственной репликой, находящейся в режиме «в сети», резервное копирование не будет выполняться.

    Получатель
    Указывает, что резервное копирование должно выполняться на вторичной реплике, за исключением тех случаев, когда в режиме «в сети» находится только первичная реплика. В этом случае резервное копирование будет выполняться на первичной реплике. Это поведение по умолчанию.

    None
    Указывает, что вы предпочитаете, чтобы задания резервного копирования пропускали реплики доступности при выборе реплики для создания резервных копий. Примечание. Задания резервного копирования могут учитывать другие факторы, например приоритет резервного копирования каждой реплики доступности в сочетании с ее состоянием работоспособности и подключения.

    Важно!

    Параметр AutomatedBackupPreferenceне вводится в действие принудительно. Интерпретация данного приоритета зависит от логики (при ее наличии), которая внесена в задания резервного копирования для баз данных в указанной группе доступности. Параметр автоматического резервного копирования не влияет на выполнение нерегламентированного резервного копирования. Дополнительные сведения см. далее в разделе Дальнейшие действия. После настройки резервного копирования во вторичных репликах .

    Например, следующая команда задает свойству AutomatedBackupPreference группы доступности MyAg значение SecondaryOnly. Автоматическое резервное копирование баз данных в этой группе доступности никогда не будет выполняться в первичной реплике, а будет перенаправляться на вторичную реплику с наивысшим приоритетом резервного копирования.

    Set-SqlAvailabilityGroup `  
    -Path SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MyAg `  
    -AutomatedBackupPreference SecondaryOnly  
    

Примечание

Чтобы просмотреть синтаксис командлета, воспользуйтесь командлетом Get-Help в среде PowerShell SQL Server . Дополнительные сведения см. в разделе Get Help SQL Server PowerShell.

Настройка и использование поставщика SQL Server PowerShell

Дальнейшие действия. После настройки резервного копирования во вторичных репликах

Чтобы настройка автоматического резервного копирования учитывалась для данной группы доступности, на каждом экземпляре сервера, где размещена реплика доступности с приоритетом резервного копирования больше нуля (>0), необходимо создать сценарии заданий резервного копирования для баз данных в группе доступности. Чтобы определить, является ли текущая реплика предпочитаемой репликой резервного копирования, выполните функцию sys.fn_hadr_backup_is_preferred_replica в скрипте резервного копирования. Если реплика доступности, размещенная на текущем экземпляре сервера, является предпочтительной для резервного копирования, эта функция возвращает значение 1. В противном случае функция возвращает значение 0. С помощью простого скрипта для каждой реплики доступности, который запрашивает эту функцию, можно определить, какая реплика должна выполнять данное задание резервного копирования. Например, типичный фрагмент скрипта задания резервного копирования выглядит следующим образом:

IF (sys.fn_hadr_backup_is_preferred_replica(@DBNAME) != 1)  
BEGIN  
      Select 'This is not the preferred replica, exiting with success';  
      RETURN 0 -- This is a normal, expected condition, so the script returns success  
END  
BACKUP DATABASE @DBNAME TO DISK = '<path to backup file>'  
   WITH COPY_ONLY;  

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

Совет

Если задание резервного копирования создается вмастере планов обслуживания, то в это задание автоматически включается логика скрипта, которая вызывает и проверяет функцию sys.fn_hadr_backup_is_preferred_replica . Однако задание резервного копирования не будет возвращать сообщение "Это не предпочтительная реплика...". Необходимо создать задания для каждой базы данных доступности на каждом экземпляре сервера, на котором размещена реплика доступности этой группы доступности.

Получение сведений о параметрах настройки резервного копирования

Ниже приводятся способы получения информации, имеющей отношение к резервному копированию во вторичных репликах.

Представление Информация Соответствующие столбцы
sys.fn_hadr_backup_is_preferred_replica Является ли текущая реплика предпочитаемой репликой резервного копирования? Не применяется
sys.availability_groups параметр автоматического резервного копирования automated_backup_preference

automated_backup_preference_desc
sys.availability_replicas Приоритет резервного копирования данной реплики доступности backup_priority
sys.dm_hadr_availability_replica_states Является реплика локальной по отношению к экземпляру сервера?

Текущая роль.

Состояние работы

Состояние подключения

Исправность синхронизации реплики доступности
is_local

role, role_desc

operational_state, operational_state_desc

connected_state, connected_state_desc

synchronization_health, synchronization_health_desc

См. также

См. также:

Обзор групп доступности AlwaysOn SQL Server)
Активные вторичные реплики, резервное копирование во вторичных репликах (группы доступности Always On)