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


Настройка механизма резервного копирования на репликах доступности (SQL Server)

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

Перед началом работы

Предпосылки

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

Безопасность

Разрешения

Задача Разрешения
Чтобы настроить резервное копирование на вторичных репликах при создании группы высокой доступности Требуется членство в фиксированной роли сервера 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. На панели " Где должны происходить резервные копии?" , выберите параметр автоматического резервного копирования для группы доступности, один из следующих вариантов:

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

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

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

    Это важно

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

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

    Это важно

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

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

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

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

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

  7. Чтобы зафиксировать изменения, нажмите кнопку "ОК".

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

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

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

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

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

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

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

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

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

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

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

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

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

    где:

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

    Это важно

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

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

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

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

    Это важно

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

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

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

Замечание

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

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

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

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

IF (NOT sys.fn_hadr_backup_is_preferred_replica(@DBNAME))  
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=<disk>  
   WITH COPY_ONLY;  

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

Подсказка

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

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

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

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

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

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

Рабочее состояние

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

Состояние синхронизации реплики доступности
is_local

роль, описание_роли

состояние работы, описание состояния работы

connected_state, connected_state_desc

synchronization_health, synchronization_health_desc

Связанные материалы

См. также

Общие сведения о группах доступности AlwaysOn (SQL Server)
Активные вторичные файлы: резервное копирование на вторичных репликах (группы доступности AlwaysOn)