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


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

Этот раздел содержит руководство по настройке управляемого резервного копирования SQL Server в Microsoft Azure для баз данных, участвующих в группах доступности AlwaysOn.

Конфигурации групп доступности

SQL Server Управляемое резервное копирование в Microsoft Azure поддерживается для баз данных группы доступности, независимо от того, настроены ли все реплики локально или полностью в Azure, либо гибридная реализация между локальной средой и на одной или нескольких виртуальных машинах Azure. Однако для одной или нескольких реализаций можно рассмотреть следующие аспекты.

  • Частота резервного копирования журналов. Частота резервного копирования журналов — это время и увеличение журнала. Например, резервная копия журнала создается каждые 2 часа, если только объем журнала не превысил в течение этих двух часов 5 МБ. Это относится ко всем реализациям: локальным, облачным или гибридным.

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

Настройка SQL Server управляемого резервного копирования в Microsoft Azure для баз данных доступности.

Разрешения.

  • Требуется членство в роли db_backupoperator базы данных с разрешениями ALTER ANY CREDENTIAL и EXECUTE разрешениями на sp_delete_backuphistoryхранимой процедуре.

  • Требуются разрешения SELECT для функции smart_admin.fn_get_current_xevent_settings.

  • Требуются EXECUTE разрешения на хранимую процедуру smart_admin.sp_get_backup_diagnostics . Кроме того, необходимы разрешения VIEW SERVER STATE, так как процедура автоматически вызывает другие системные объекты, которым требуется это разрешение.

  • Требуются EXECUTE разрешения на хранимые smart_admin.sp_set_instance_backup процедуры и smart_admin.sp_backup_master_switch .

Ниже приведены основные шаги по настройке группы доступности AlwaysOn с SQL Server управляемого резервного копирования в Microsoft Azure. Подробное пошаговое руководство описано далее в этом разделе.

  1. После того как создана группа доступности, следует настроить предпочтительную реплику резервного копирования. Этот параметр для группы доступности также используется SQL Server управляемого резервного копирования в Microsoft Azure, чтобы определить, какие реплика использовать для резервного копирования. Пошаговые инструкции по настройке параметров резервного копирования см. в статье Настройка резервного копирования в репликах доступности (SQL Server). Если вы создаете новую группу доступности AlwaysOn, см. статью начало работы с группами доступности AlwaysOn (SQL Server)).

  2. Настройте доступ через соединение только для чтения к вторичным репликам. Пошаговые инструкции по настройке доступа только для чтения см. в статье Настройка доступа к Read-Only в реплике доступности (SQL Server)

  3. Укажите реплику резервного копирования. Предпочтительный параметр реплика резервного копирования используется SQL Server Управляемое резервное копирование в Microsoft Azure, чтобы определить, какую базу данных следует использовать для планирования резервного копирования. Чтобы определить, является ли текущий реплика предпочтительным резервным реплика, используйте функцию sys.fn_hadr_backup_is_preferred_replica (Transact-SQL).

  4. На каждом реплика запустить SQL Server конфигурации Управляемое резервное копирование в Microsoft Azure для базы данных с помощью хранимой процедуры smart-admin.sp_set_db_backup.

    SQL Server поведение управляемого резервного копирования в Microsoft Azure после отработки отказа: SQL Server Управляемое резервное копирование в Microsoft Azure будет продолжать работать и поддерживать резервные копии и возможность восстановления после события отработки отказа. После отработки отказа никакие особые действия не требуются.

Рекомендации и требования

Настройка SQL Server управляемого резервного копирования в Microsoft Azure для баз данных, участвующих в группе доступности AlwaysOn, требует особых рекомендаций и требований. Ниже приведен список соображений и требований.

  • Параметры конфигурации SQL Server Управляемое резервное копирование в Microsoft Azure должны быть одинаковыми для всех баз данных на всех узлах SQL Server, участвующих в одной группе доступности. Это можно сделать, задав одну и ту же SQL Server Управляемое резервное копирование в конфигурации Microsoft Azure для первичной базы данных и всех реплик на уровне базы данных или задав один и тот же параметр по умолчанию SQL Server Управляемое резервное копирование в microsoft Azure на всех узлах, участвующих в группах доступности. Рекомендуется задать SQL Server Управляемое резервное копирование в Microsoft Azure в базе данных, так как настройка управляемого резервного копирования SQL Server в Microsoft Azure на уровне базы данных позволяет изолировать параметры для баз данных, а изменения параметров по умолчанию влияют на все остальные базы данных в экземпляре.

  • Укажите реплику резервного копирования. Предпочтительный параметр реплика резервного копирования используется SQL Server Управляемое резервное копирование в Microsoft Azure для планирования резервного копирования. Чтобы определить, является ли текущий реплика предпочтительным резервным реплика, используйте функцию sys.fn_hadr_backup_is_preferred_replica (Transact-SQL).

  • Если в качестве предпочтительной реплики настраивается вторичная реплика, ей должен быть назначен хотя бы доступ через соединение только для чтения. Группы доступности, у которых нет доступа к соединению с базами данных-получателями, не поддерживаются. Дополнительные сведения см. в разделе Настройка доступа только для чтения в реплике доступности (SQL Server).

  • Если вы настраиваете SQL Server Управляемое резервное копирование в Microsoft Azure после настройки группы доступности, SQL Server Управляемое резервное копирование в Microsoft Azure попытается скопировать все существующие резервные копии и скопировать их в контейнер хранилища. Если SQL Server Управляемое резервное копирование в Microsoft Azure не может найти существующие резервные копии или получить доступ к ним, оно запланирует полное резервное копирование базы данных. Это сделано специально для оптимизации операций резервного копирования для баз данных группы доступности.

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

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

Включение и настройка управляемого резервного копирования SQL Server в Microsoft Azure для базы данных доступности

В этом руководстве описаны действия по включению и настройке управляемого резервного копирования SQL Server в Microsoft Azure для базы данных (AGTestDB) на компьютерах Node1 и Node2, а также по включению мониторинга состояния работоспособности управляемого резервного копирования SQL Server в Microsoft Azure.

  1. Создайте учетную запись хранения Azure. Резервные копии хранятся в службе хранилища BLOB-объектов Azure. Сначала необходимо создать учетную запись хранения Azure, если у вас ее еще нет. Дополнительные сведения см. в статье Создание учетной записи хранения Azure. Запишите имя учетной записи хранения, ключи доступа и URL-адрес учетной записи хранения. Имя учетной записи хранения и сведения о ключе доступа используются для создания учетных данных SQL. Учетные данные SQL используются SQL Server Управляемое резервное копирование в Microsoft Azure во время операций резервного копирования для проверки подлинности в учетной записи хранения.

  2. Создайте учетные данные SQL: Создайте учетные данные SQL, используя имя учетной записи хранения в качестве удостоверения и ключ доступа к хранилищу в качестве пароля.

  3. Убедитесь в том, что служба агента SQL Server запущена и работает. Запустите агент SQL Server, если он не запущен. Управляемое резервное копирование SQL Server в Microsoft Azure требует, чтобы агент SQL Server был запущен на экземпляре. Можно установить автоматический запуск агента SQL Server, чтобы обеспечить регулярное выполнение операций резервного копирования.

  4. Определите срок хранения: Определите период хранения, который требуется для файлов резервных копий. Срок хранения указывается в днях и может принимать значение от 1 до 30. Срок хранения определяет интервал времени восстановления для базы данных.

  5. Создайте сертификат или асимметричный ключ для шифрования во время резервного копирования: Создайте сертификат на первом узле Node1, а затем экспортируйте его в файл с помощью BACKUP CERTIFICATE (Transact-SQL). На узле Node 2 создайте сертификат с помощью файла, экспортированного с Node 1. Дополнительные сведения о создании сертификата из файла см. в примере в разделе CREATE CERTIFICATE (Transact-SQL).

  6. Включение и настройка управляемого резервного копирования SQL Server в Microsoft Azure для AGTestDB на Node1. Запустите SQL Server Management Studio и подключитесь к экземпляру на Узле 1, где установлена база данных доступности. В окне запроса выполните приведенную ниже инструкцию, предварительно задав значения имени базы данных, URL-адреса хранилища, учетных данных SQL и срока хранения.

    Use msdb;  
    GO  
    EXEC smart_admin.sp_set_db_backup   
                    @database_name='AGTestDB'   
                    ,@retention_days=30   
                    ,@credential_name='MyCredential'  
                    ,@encryption_algorithm ='AES_128'  
                    ,@encryptor_type= 'Certificate'  
                    ,@encryptor_name='MyBackupCert'  
                    ,@enable_backup=1;  
    GO  
    

    Дополнительные сведения о создании сертификата для шифрования см. в разделе Создание сертификата резервной копиистатьи Создание зашифрованной резервной копии.

  7. Включение и настройка управляемого резервного копирования SQL Server в Microsoft Azure для AGTestDB на Узле 2. Запустите SQL Server Management Studio и подключитесь к экземпляру на Узле 2, где установлена база данных доступности. В окне запроса выполните приведенную ниже инструкцию, предварительно задав значения имени базы данных, URL-адреса хранилища, учетных данных SQL и срока хранения.

    Use msdb;  
    GO  
    EXEC smart_admin.sp_set_db_backup   
                    @database_name='AGTestDB'   
                    ,@retention_days=30   
                    ,@credential_name='MyCredential'  
                    ,@encryption_algorithm ='AES_128'  
                    ,@encryptor_type= 'Certificate'  
                    ,@encryptor_name='MyBackupCert'  
                    ,@enable_backup=1;  
    GO  
    

    Управляемое резервное копирование SQL Server в Microsoft Azure включено на указанной базе данных. Может потребоваться до 15 минут, прежде чем начнут выполняться операции резервного копирования для базы данных. Резервные копии будут появляться на предпочтительной реплике резервного копирования.

  8. Просмотрите конфигурацию расширенных событий по умолчанию: Просмотрите конфигурацию расширенных событий, выполнив следующую инструкцию transact-SQL на реплика, которую SQL Server использует управляемое резервное копирование в Microsoft Azure для планирования резервного копирования. Обычно это параметр предпочтительной реплики для группы доступности, к которой принадлежит база данных.

    SELECT * FROM smart_admin.fn_get_current_xevent_settings(); 
    

    Вы увидите, что события Администратор, операционных и аналитических каналов включены по умолчанию и не могут быть отключены. Этого должно быть достаточно для наблюдения за событиями, требующими ручного вмешательства. Вы можете включить события отладки, но эти каналы включают информационные и отладочные события, которые SQL Server управляемое резервное копирование в Microsoft Azure использует для обнаружения проблем и их решения. Дополнительные сведения см. в статье Мониторинг SQL Server управляемого резервного копирования в Azure.

  9. Включите и настройте уведомление о состоянии работоспособности. Управляемое резервное копирование SQL Server в Microsoft Azure имеет хранимую процедуру, создающую задание агента для отправки по электронной почте уведомлений об ошибках или предупреждений, которые могут требовать внимания пользователя. Чтобы получать такие уведомления, необходимо включить запуск хранимой процедуры, которая создает задание агента SQL Server. Приведенные ниже шаги описывают процесс включения и настройки уведомлений по электронной почте.

    1. Настройте компонент Database Mail, если он еще не включен на экземпляре. Дополнительные сведения см. в разделе Configure Database Mail.

    2. Настройте уведомления агента SQL Server для использования компонента Database Mail. Дополнительные сведения см. в статье Configure SQL Server Agent Mail to Use Database Mail.

    3. Включите уведомления по электронной почте для получения ошибок и предупреждений, связанных с резервными копиями. В окне запроса выполните следующие инструкции Transact-SQL:

      EXEC msdb.smart_admin.sp_set_parameter  
      @parameter_name = 'SSMBackup2WANotificationEmailIds',  
      @parameter_value = '<email>'  
      

      Дополнительные сведения и полный пример скрипта см. в статье Мониторинг SQL Server управляемого резервного копирования в Azure.

  10. Просмотр файлов резервных копий в учетной записи хранения Azure: Подключитесь к учетной записи хранения из SQL Server Management Studio или портала управления Azure. Вы увидите контейнер для экземпляра SQL Server, в котором размещена база данных, настроенная для использования SQL Server управляемого резервного копирования в Microsoft Azure. Вы также можете увидеть базу данных и резервную копию журнала в течение 15 минут после включения управляемого резервного копирования SQL Server в Microsoft Azure для базы данных.

  11. Мониторинг состояния работоспособности: Вы можете отслеживать уведомления по электронной почте, настроенные ранее, или активно отслеживать зарегистрированные события. Ниже приведены примеры инструкций Transact-SQL, которые используются для просмотра событий.

    --  view all admin events  
    Use msdb;  
    Go  
    DECLARE @startofweek datetime  
    DECLARE @endofweek datetime  
    SET @startofweek = DATEADD(Day, 1-DATEPART(WEEKDAY, CURRENT_TIMESTAMP), CURRENT_TIMESTAMP)   
    SET @endofweek = DATEADD(Day, 7-DATEPART(WEEKDAY, CURRENT_TIMESTAMP), CURRENT_TIMESTAMP)  
    
    DECLARE @eventresult TABLE  
    (event_type nvarchar(512),  
    event varchar (512),  
    timestamp datetime  
    )  
    
    INSERT INTO @eventresult  
    
    EXEC smart_admin.sp_get_backup_diagnostics @begin_time = @startofweek, @end_time = @endofweek  
    
    SELECT * from @eventresult  
    WHERE event_type LIKE '%admin%'  
    
    -- to enable debug events  
    Use msdb;  
    Go  
    EXEC smart_admin.sp_set_parameter 'FileRetentionDebugXevent', 'True'  
    
    --  View all events in the current week  
    Use msdb;  
    Go  
    DECLARE @startofweek datetime  
    DECLARE @endofweek datetime  
    SET @startofweek = DATEADD(Day, 1-DATEPART(WEEKDAY, CURRENT_TIMESTAMP), CURRENT_TIMESTAMP)   
    SET @endofweek = DATEADD(Day, 7-DATEPART(WEEKDAY, CURRENT_TIMESTAMP), CURRENT_TIMESTAMP)  
    
    EXEC smart_admin.sp_get_backup_diagnostics @begin_time = @startofweek, @end_time = @endofweek;  
    

Шаги, описанные в этом разделе, специально предназначены для первой настройки Управляемое резервное копирование SQL Server в Microsoft Azure в базе данных. Вы можете изменить существующие конфигурации с помощью той же системной хранимой процедуры smart_admin.sp_set_db_backup и указать новые значения. Дополнительные сведения см. в статье SQL Server Управляемое резервное копирование в Azure — параметры хранения и хранилища.

Соображения по удалению базы данных из конфигурации группы доступности AlwaysOn

Если база данных удалена из конфигурации группы доступности AlwaysOn и теперь является автономной базой данных, рекомендуется выполнить резервное копирование с помощью smart_admin.sp_backup_on_demand (Transact-SQL). При создании резервной копии базы данных таким образом создается новая цепочка резервных копий, и файл будет помещен в контейнер конкретного экземпляра, а не в контейнер доступности, в котором хранились резервные копии, когда база данных была частью группы доступности.

Предупреждение

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