Настройка резервных копий вторичных реплик группы доступности Always OnConfigure backups on secondary replicas of an Always On availability group

ОБЛАСТЬ ПРИМЕНЕНИЯ: даSQL Server нетБаза данных SQL AzureнетХранилище данных SQL AzureнетParallel Data WarehouseAPPLIES TO: yesSQL Server noAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

В этом разделе описывается настройка резервной копии вторичной реплики для группы доступности AlwaysOn с помощью среды SQL Server Management StudioSQL Server Management Studio, Transact-SQLTransact-SQLили PowerShell в SQL Server 2017SQL Server 2017.This topic describes how to configure backup on secondary replicas for an Always On availability group by using SQL Server Management StudioSQL Server Management Studio, Transact-SQLTransact-SQL, or PowerShell in SQL Server 2017SQL Server 2017.

Примечание

Основные сведения о резервном копировании вторичных реплик см. в разделе Активные вторичные реплики: резервное копирование во вторичных репликах (группы доступности Always On).For an introduction to backup on secondary replicas, see Active Secondaries: Backup on Secondary Replicas (Always On Availability Groups).

Предварительные требованияPrerequisites

Необходимо подключиться к экземпляру сервера, на котором размещена первичная реплика.You must be connected to the server instance that hosts the primary replica.

PermissionsPermissions

ЗадачаTask РазрешенияPermissions
Настройка резервного копирования во вторичных репликах при создании группы доступностиTo configure backup on secondary replicas when creating an availability group Требуется членство в фиксированной роли сервера sysadmin и одно из разрешений: CREATE AVAILABILITY GROUP, ALTER ANY AVAILABILITY GROUP или CONTROL SERVER.Requires membership in the sysadmin fixed server role and either CREATE AVAILABILITY GROUP server permission, ALTER ANY AVAILABILITY GROUP permission, or CONTROL SERVER permission.
Изменение группы доступности или реплики доступностиTo modify an availability group or availability replica Необходимо разрешение ALTER AVAILABILITY GROUP для группы доступности, разрешение CONTROL AVAILABILITY GROUP, разрешение ALTER ANY AVAILABILITY GROUP или разрешение CONTROL SERVER.Requires ALTER AVAILABILITY GROUP permission on the availability group, CONTROL AVAILABILITY GROUP permission, ALTER ANY AVAILABILITY GROUP permission, or CONTROL SERVER permission.

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

Настройка резервного копирования во вторичных репликахTo configure backup on secondary replicas

  1. В обозревателе объектов подключитесь к экземпляру сервера, на котором размещена первичная реплика, и щелкните имя сервера, чтобы развернуть его дерево.In Object Explorer, connect to the server instance that hosts the primary replica, and click the server name to expand the server tree.

  2. Разверните узел Высокий уровень доступности AlwaysOn и узел Группы доступности .Expand the Always On High Availability node and the Availability Groups node.

  3. Щелкните группу доступности, для которой нужно задать параметры резервного копирования, и выберите команду Свойства .Click the availability group whose backup preferences you want to configure, and select the Properties command.

  4. В диалоговом окне Свойства групп доступности перейдите на страницу Настройки резервного копирования .In the Availability Group Properties dialog box, select Backup Preferences page.

  5. На панели Где должно происходить резервное копирование? выберите один из способов автоматизированного резервного копирования для группы доступности:On the Where should backups occur? panel, select the automated backup preference for the availability group, one of:

    Предпочтение вторичнойPrefer Secondary
    Указывает, что резервное копирование должно выполняться на вторичной реплике, за исключением тех случаев, когда в режиме «в сети» находится только первичная реплика.Specifies that backups should occur on a secondary replica except when the primary replica is the only replica online. В этом случае резервное копирование будет выполняться на первичной реплике.In that case, the backup should occur on the primary replica. Это параметр по умолчанию.This is the default option.

    Только вторичнаяSecondary only
    Указывает, что резервное копирование никогда не выполняется на первичной реплике.Specifies that backups should never be performed on the primary replica. Если первичная реплика является единственной репликой, находящейся в режиме «в сети», резервное копирование не будет выполняться.If the primary replica is the only replica online, the backup should not occur.

    ПервичнаяPrimary
    Указывает, что резервное копирования должно всегда выполняться на первичной реплике.Specifies that the backups should always occur on the primary replica. Данный параметр является полезным, если вам требуются такие функции резервного копирования, как создание разностных резервных копий, которые не поддерживаются при выполнении резервного копирования на вторичной реплике.This option is useful if you need backup features, such as creating differential backups, that are not supported when backup is run on a secondary replica.

    Важно!

    Если планируется использовать доставку журналов для подготовки баз данных-получателей для группы доступности, задайте параметру автоматизированного резервного копирования значение Первичная до тех пор, пока все базы данных-получатели не будут подготовлены и присоединены к группе доступности.If you plan to use log shipping to prepare any secondary databases for an availability group, set the automated backup preference to Primary until all the secondary databases have been prepared and joined to the availability group.

    Любая репликаAny Replica
    Указывает, что вы предпочитаете, чтобы задания резервного копирования пропускали реплики доступности при выборе реплики для создания резервных копий.Specifies that you prefer that backup jobs ignore the role of the availability replicas when choosing the replica to perform backups. Примечание. Задания резервного копирования могут учитывать другие факторы, например приоритет резервного копирования каждой реплики доступности в сочетании с ее состоянием работоспособности и подключения.Note backup jobs might evaluate other factors such as backup priority of each availability replica in combination with its operational state and connected state.

    Важно!

    Принудительного применения параметра автоматического резервного копирования не существует.There is no enforcement of the automated backup preference setting. Интерпретация данного приоритета зависит от логики (при ее наличии), которая внесена в задания резервного копирования для баз данных в указанной группе доступности.The interpretation of this preference depends on the logic, if any, that you script into backup jobs for the databases in a given availability group. Параметр автоматического резервного копирования не влияет на выполнение нерегламентированного резервного копирования.The automated backup preference setting has no impact on ad-hoc backups. Дополнительные сведения см. в разделе Дальнейшие действия. После настройки резервного копирования во вторичных репликах далее в этом разделе.For more information, see Follow Up: After Configuring Backup on Secondary Replicas later in this topic.

  6. Сетка Настройки резервного копирования реплики позволяет изменить приоритет резервного копирования для группы доступности.Use the Replica backup priorities grid to change the backup priority of the availability replicas. В этой сетке отображается текущий приоритет резервного копирования каждого экземпляра сервера, на котором размещена реплика, входящая в данную группу доступности.This grid displays the current backup priority of each server instance that hosts a replica for the availability group. Сетка содержит следующие столбцы.The grid columns are as follows:

    Экземпляр сервераServer Instance
    Имя экземпляра SQL ServerSQL Server , в котором размещается группа доступности.The name of the instance of SQL ServerSQL Server that hosts the availability replica.

    Приоритет резервного копирования (низкий = 1, высокий = 100)Backup Priority (Lowest=1, Highest=100)
    Указывает приоритет выполнения резервного копирования на данной реплике по отношению к другим репликам из той же группы доступности.Specifies your priority for performing backups on this replica relative to the other replicas in the same availability group. Значение представляет собой целое число в диапазоне от 0 до 100.The value is an integer in the range of 0..100. 1 указывает минимальный приоритет, 100 — наивысший приоритет.1 indicates the lowest priority, and 100 indicates the highest priority. Если Backup Priority = 1, реплика доступности будет выбрана для создания резервных копий только в случае, если реплики доступности с более высоким приоритетом отсутствуют.If Backup Priority = 1, the availability replica would be chosen for performing backups only if no higher priority availability replicas are currently available.

    Исключить репликуExclude Replica
    Установите этот параметр, чтобы реплика никогда не выбиралась для выполнения резервного копирования.Select if you never want this availability replica to be chosen for performing backups. Этот параметр может быть полезным, например, для исключения удаленной реплики доступности, создание резервных копий на которой нежелательно.This is useful, for example, for a remote availability replica to which you never want backups to fail over.

  7. Для фиксации изменений нажмите кнопку ОК.To commit your changes, click OK.

Альтернативные пути доступа к странице настройки резервного копированияAlternative ways to access the Backup Preferences page

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

Настройка резервного копирования во вторичных репликахTo configure backup on secondary replicas

  1. Подключитесь к экземпляру сервера, на котором находится первичная реплика.Connect to the server instance that hosts the primary replica.

  2. Для новой группы доступности используйте инструкцию CREATE AVAILABILITY GROUP (Transact-SQL).For a new availability group, use the CREATE AVAILABILITY GROUP (Transact-SQL) statement. При добавлении или изменении существующей группы доступности воспользуйтесь инструкцией ALTER AVAILABILITY GROUP (Transact-SQL).If you are modifying an existing availability group, use the ALTER AVAILABILITY GROUP (Transact-SQL) statement.

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

Настройка резервного копирования во вторичных репликахTo configure backup on secondary replicas

  1. Установите в качестве значения по умолчанию (cd) экземпляр сервера, на котором размещена первичная реплика.Set default (cd) to the server instance that hosts the primary replica.

  2. При необходимости настройте приоритет каждой реплики доступности, которую необходимо добавить или изменить.Optionally, configure the backup priority of each availability replica that you are adding or modifying. Этот приоритет используется экземпляром сервера, на котором размещается первичная реплика, при принятии решения о том, какая реплика должна обработать запрос автоматического резервного копирования для базы данных в группе доступности (выбирается реплика с максимальным приоритетом).This priority is used by the server instance that hosts the primary replica to decide which replica should service an automated backup request on a database in the availability group (the replica with highest priority is chosen). Значением приоритета может быть любое целое число от 0 до 100 включительно.This priority can be any number between 0 and 100, inclusive. Приоритет 0 указывает, что реплика не должна считаться кандидатом на обработку запросов резервного копирования.A priority of 0 indicates that the replica should not be considered as a candidate for servicing backup requests. Значение по умолчанию — 50.The default setting is 50.

    При добавлении реплики доступности в группу доступности воспользуйтесь командлетом New-SqlAvailabilityReplica .When adding an availability replica to an availability group, use the New-SqlAvailabilityReplica cmdlet. При изменении существующей реплики доступности воспользуйтесь командлетом Set-SqlAvailabilityReplica .When modifying an existing availability replica, use the Set-SqlAvailabilityReplica cmdlet. В любом случае укажите параметр BackupPriorityn , где n представляет собой значение от 0 до 100.In either case, specify the BackupPriorityn parameter, where n is a value from 0 to 100.

    Например, следующая команда присваивает приоритету резервного копирования реплики доступности MyReplica значение 60.For example, the following command sets the backup priority of the availability replica MyReplica to 60.

    Set-SqlAvailabilityReplica -BackupPriority 60 `  
    -Path SQLSERVER:\Sql\Computer\Instance\AvailabilityGroups\MyAg\AvailabilityReplicas\MyReplica  
    
  3. Также настройте приоритет автоматического резервного копирования для группы доступности, которая создается или изменяется.Optionally, configure the automated backup preference for the availability group that you are creating or modifying. Этот параметр указывает, как задание резервного копирования вычисляет первичную реплику при выборе места для создания резервных копий.This preference indicates how a backup job should evaluate the primary replica when choosing where to perform backups. Значение по умолчанию предпочитают вторичные реплики.The default setting is to prefer secondary replicas.

    При создании группы доступности используйте командлет New-SqlAvailabilityGroup .When creating an availability group, use the New-SqlAvailabilityGroup cmdlet. При изменении существующей группы доступности используйте командлет Set-SqlAvailabilityGroup .When modifying an existing availability group, use the Set-SqlAvailabilityGroup cmdlet. В любом случае укажите параметр AutomatedBackupPreference .In either case, specify the AutomatedBackupPreference parameter.

    гдеwhere,

    ПервичнаяPrimary
    Указывает, что резервное копирования должно всегда выполняться на первичной реплике.Specifies that the backups should always occur on the primary replica. Данный параметр является полезным, если вам требуются такие функции резервного копирования, как создание разностных резервных копий, которые не поддерживаются при выполнении резервного копирования на вторичной реплике.This option is useful if you need backup features, such as creating differential backups, that are not supported when backup is run on a secondary replica.

    Важно!

    Если планируется использовать доставку журналов для подготовки баз данных-получателей для группы доступности, задайте параметру автоматизированного резервного копирования значение Первичная до тех пор, пока все базы данных-получатели не будут подготовлены и присоединены к группе доступности.If you plan to use log shipping to prepare any secondary databases for an availability group, set the automated backup preference to Primary until all the secondary databases have been prepared and joined to the availability group.

    SecondaryOnlySecondaryOnly
    Указывает, что резервное копирование никогда не выполняется на первичной реплике.Specifies that backups should never be performed on the primary replica. Если первичная реплика является единственной репликой, находящейся в режиме «в сети», резервное копирование не будет выполняться.If the primary replica is the only replica online, the backup should not occur.

    ВторичнаяSecondary
    Указывает, что резервное копирование должно выполняться на вторичной реплике, за исключением тех случаев, когда в режиме «в сети» находится только первичная реплика.Specifies that backups should occur on a secondary replica except when the primary replica is the only replica online. В этом случае резервное копирование будет выполняться на первичной реплике.In that case, the backup should occur on the primary replica. Это поведение по умолчанию.This is the default behavior.

    NoneNone
    Указывает, что вы предпочитаете, чтобы задания резервного копирования пропускали реплики доступности при выборе реплики для создания резервных копий.Specifies that you prefer that backup jobs ignore the role of the availability replicas when choosing the replica to perform backups. Примечание. Задания резервного копирования могут учитывать другие факторы, например приоритет резервного копирования каждой реплики доступности в сочетании с ее состоянием работоспособности и соединения.Note backup jobs might evaluate other factors such as backup priority of each availability replica in combination with its operational state and connected state.

    Важно!

    Параметр AutomatedBackupPreferenceне вводится в действие принудительно.There is no enforcement of AutomatedBackupPreference. Интерпретация данного приоритета зависит от логики (при ее наличии), которая внесена в задания резервного копирования для баз данных в указанной группе доступности.The interpretation of this preference depends on the logic, if any, that you script into backup jobs for the databases in a given availability group. Параметр автоматического резервного копирования не влияет на выполнение нерегламентированного резервного копирования.The automated backup preference setting has no impact on ad-hoc backups. Дополнительные сведения см. в разделе Дальнейшие действия. После настройки резервного копирования во вторичных репликах далее в этом разделе.For more information, see Follow Up: After Configuring Backup on Secondary Replicas later in this topic.

    Например, следующая команда задает свойству AutomatedBackupPreference группы доступности MyAg значение SecondaryOnly.For example, the following command sets the AutomatedBackupPreference property on the availability group MyAg to SecondaryOnly. Автоматическое резервное копирование баз данных в этой группе доступности никогда не будет выполняться в первичной реплике, а будет перенаправляться на вторичную реплику с наивысшим приоритетом резервного копирования.Automated backups of databases in this availability group will never occur on the primary replica, but will be redirected to the secondary replica with the highest backup priority setting.

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

Примечание

Чтобы просмотреть синтаксис командлета, воспользуйтесь командлетом Get-Help в среде PowerShell SQL ServerSQL Server .To view the syntax of a cmdlet, use the Get-Help cmdlet in the SQL ServerSQL Server PowerShell environment. Дополнительные сведения см. в разделе Get Help SQL Server PowerShell.For more information, see Get Help SQL Server PowerShell.

Настройка и использование поставщика SQL Server PowerShellTo set up and use the SQL Server PowerShell provider

Дальнейшие действия. После настройки резервного копирования во вторичных репликахFollow Up: After Configuring Backup on Secondary Replicas

Чтобы настройка автоматического резервного копирования учитывалась для данной группы доступности на каждом экземпляре сервера, где размещена реплика доступности, приоритет резервного копирования которой больше нуля (>0), необходимо создать скрипты заданий резервного копирования для баз данных в группе доступности.To take the automated backup preference into account for a given availability group, on each server instance that hosts an availability replica whose backup priority is greater than zero (>0), you need to script backup jobs for the databases in the availability group. Чтобы определить, является ли текущая реплика предпочитаемой репликой резервного копирования, выполните функцию sys.fn_hadr_backup_is_preferred_replica в скрипте резервного копирования.To determine whether the current replica is the preferred backup replica, use the sys.fn_hadr_backup_is_preferred_replica function in your backup script. Если реплика доступности, размещенная на текущем экземпляре сервера, является предпочтительной для резервного копирования, эта функция возвращает значение 1.If the availability replica that is hosted by the current server instance is the preferred replica for backups, this function returns 1. В противном случае функция возвращает значение 0.If not, the function returns 0. С помощью простого скрипта для каждой реплики доступности, который запрашивает эту функцию, можно определить, какая реплика должна выполнять данное задание резервного копирования.By running a simple script on each availability replica that queries this function, you can determine which replica should run a given backup job. Например, типичный фрагмент скрипта задания резервного копирования выглядит следующим образом:For example, a typical snippet of a backup-job script would look like:

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;  

Написание скрипта с подобной логикой для задания резервного копирования позволяет планировать запуск задания на каждой реплике доступности по одинаковому расписанию.Scripting a backup job with this logic enables you to schedule the job to run on every availability replica on the same schedule. Каждое из данных заданий обращается к одним и тем же данным для определения того, какие задания следует выполнить, поэтому для создания резервной копии фактически обрабатывается только одно запланированное задание.Each of these jobs looks at the same data to determine which job should run, so only one of the scheduled job actually proceeds to the backup stage. В случае отработки отказа не приходится изменять ни один из скриптов или заданий.In the event of a failover, none of the scripts or jobs needs to be modified. Кроме того, если перенастроить группу доступности для добавления реплики доступности, то для управления заданиями резервного копирования потребуется просто скопировать или запланировать задание.Also, if you reconfigure an availability group to add an availability replica, managing the backup job requires simply copying or scheduling the backup job. В случае удаления реплики доступности просто удалите задание резервного копирования с экземпляра сервера, на котором размещалась эта реплика.If you remove an availability replica, simply delete the backup job from the server instance that hosted that replica.

Совет

Если задание резервного копирования создается вмастере планов обслуживания, то в это задание автоматически включается логика скрипта, которая вызывает и проверяет функцию sys.fn_hadr_backup_is_preferred_replica .If you use theMaintenance Plan Wizardto create a given backup job, the job will automatically include the scripting logic that calls and checks the sys.fn_hadr_backup_is_preferred_replica function. Однако задание резервного копирования не будет возвращать сообщение "Это не предпочтительная реплика...". Необходимо создать задания для каждой базы данных доступности на каждом экземпляре сервера, на котором размещена реплика доступности этой группы доступности.However, the backup job will not return the "This is not the preferred replica..." message.Be sure to create the job(s) for each availability database on every server instance that hosts an availability replica for the availability group.

Получение сведений о параметрах настройки резервного копированияTo Obtain Information About Backup Preference Settings

Ниже приводятся способы получения информации, имеющей отношение к резервному копированию во вторичных репликах.The following are useful for obtaining information that is relevant for backup on secondary.

ПросмотрView СведенияInformation Соответствующие столбцыRelevant Columns
sys.fn_hadr_backup_is_preferred_replicasys.fn_hadr_backup_is_preferred_replica Является ли текущая реплика предпочитаемой репликой резервного копирования?Is the current replica the preferred backup replica? Неприменимо.Not applicable.
sys.availability_groupssys.availability_groups параметр автоматического резервного копированияAutomated backup preference automated_backup_preferenceautomated_backup_preference

automated_backup_preference_descautomated_backup_preference_desc
sys.availability_replicassys.availability_replicas Приоритет резервного копирования данной реплики доступностиBackup priority of a given availability replica backup_prioritybackup_priority
sys.dm_hadr_availability_replica_statessys.dm_hadr_availability_replica_states Является реплика локальной по отношению к экземпляру сервера?Is replica local to the server instance?

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

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

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

Исправность синхронизации реплики доступностиSynchronization health of an availability replica
is_localis_local

role, role_descrole, role_desc

operational_state, operational_state_descoperational_state, operational_state_desc

connected_state, connected_state_descconnected_state, connected_state_desc

synchronization_health, synchronization_health_descsynchronization_health, synchronization_health_desc

См. такжеRelated Content

См. также:See Also

Обзор групп доступности AlwaysOn (SQL Server) Overview of Always On Availability Groups (SQL Server)
Активные вторичные реплики: резервное копирование во вторичных репликах (группы доступности Always On).Active Secondaries: Backup on Secondary Replicas (Always On Availability Groups)