Настройка управляемого резервного копирования 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 хранимой процедуре.

  • Требуется разрешение 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 по умолчанию на всех узлах, участвующих в группах доступности. Мы рекомендуем настроить управляемое резервное копирование SQL Server в Microsoft Azure в базе данных, так как настройка управляемого резервного копирования SQL Server в Microsoft Azure на уровне базы данных позволяет изолировать параметры для баз данных и изменения параметров по умолчанию влияют на все остальные базы данных на экземпляре.

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

  • Если вторичная реплика настроена как предпочтительная, она должна быть сконфигурирована так, чтобы обеспечивать минимум доступ только для чтения. Группы доступности, у которых нет доступа к вторичным базам данных, не поддерживаются. Дополнительные сведения см. в документе "Настройка Read-Only доступа к реплике доступности (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 Server используются управляемой функцией резервного копирования SQL Server в Microsoft Azure для проверки подлинности в учетной записи хранения во время операций резервного копирования.

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

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

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

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

  6. Включите и настройте управляемое резервное копирование SQL Server в Microsoft Azure для AGTestDB на Node1: Запустите среду SQL Server Management Studio и подключитесь к экземпляру на Node1, где установлена база данных высокой доступности. В окне запроса выполните следующую инструкцию после изменения значений имени базы данных, 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 на node2: Запустите SQL Server Management Studio и подключитесь к экземпляру на node2, где установлена база данных доступности. В окне запроса выполните следующую инструкцию после изменения значений имени базы данных, 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 Managed Backup в Microsoft Azure использует для обнаружения проблем и их устранения. Дополнительные сведения см. в статье "Мониторинг управляемого резервного копирования SQL Server в Azure".

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

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

    2. Настройте уведомления агента SQL Server для использования компонента Database Mail. Дополнительные сведения см. в разделе Настройка почты агента SQL Server для использования компонента 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 Managed Backup to Azure — Параметры удержания и хранения.

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

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

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

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