Включение управляемого резервного копирования SQL Server в Azure

Применимо к:SQL Server

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

В этом руководстве используется Azure PowerShell. Перед началом работы с руководством скачайте и установите Azure PowerShell.

Внимание

Если вы также хотите включить дополнительные параметры или использовать пользовательское расписание, настройте эти параметры сначала перед включением управляемого резервного копирования SQL Server в Microsoft Azure. Дополнительные сведения см. в статье Настройка дополнительных параметров управляемого резервного копирования SQL Server в Microsoft Azure.

Создание контейнера Хранилище BLOB-объектов Azure

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

Дополнительные сведения об учетных записях хранения см. в статье Об учетных записях хранения Azure.

  1. Войдите в свою учетную запись Azure.

    az login
    
  2. Создание учетной записи хранения Azure. Если у вас уже есть учетная запись хранения, перейдите к следующему шагу. Приведенная ниже команда создает учетную запись хранения с именем <backupStorage> в восточной части США.

    az storage account create -n <backupStorage> -l "eastus" --resource-group <resourceGroup>
    
  3. Создайте контейнер больших двоичных объектов с именем <backupContainer> для файлов резервных копий.

    $keys = az storage account keys list --account-name <backupStorage> --resource-group <resourceGroup> | ConvertFrom-Json
    az storage container create --name <backupContainer> --account-name <backupStorage> --account-key $keys[0].value 
    
  4. Создайте подписанный URL-адрес (SAS) для доступа к контейнеру. Приведенная ниже команда создает маркер SAS для контейнера больших двоичных объектов <backupContainer>, срок действия которого истекает через год.

    az storage container generate-sas --name <backupContainer> --account-name <backupStorage> --account-key $keys[0].value
    

Примечание.

Эти действия также можно выполнить на портале Azure.

Выходные данные будут содержать URL-адрес контейнера, маркер SAS или и то, и другое. Ниже приведен пример:

https://managedbackupstorage.blob.core.windows.net/backupcontainer?sv=2014-02-14&sr=c&sig=xM2LXVo1Erqp7LxQ%9BxqK9QC6%5Qabcd%9LKjHGnnmQWEsDf%5Q%se=2015-05-14T14%3B93%4V20X&sp=rwdl

Если URL-адрес включен, отделите его от маркера SAS на вопросительном знаке (не включая вопросительный знак). Например, предыдущие выходные данные будут разделены на следующие два значения.

Тип Выходные данные
URL-адрес контейнера https://managedbackupstorage.blob.core.windows.net/backupcontainer
Маркер SAS sv=2014-02-14&sr=c&sig=xM2LXVo1Erqp7LxQ%9BxqK9QC6%5Qabcd%9LKjHGnnmQWEsDf%5Q%se=2015-05-14T14%3B93%4V20X&sp=rwdl

Запишите URL-адрес контейнера и SAS для использования при создании учетных данных (CREDENTIAL) SQL. Общие сведения о SAS см. в статье Подписанные URL-адреса. Часть 1: общие сведения о модели SAS.

Включение управляемого резервного копирования в Azure

  1. Создайте учетные данные SQL для URL-адреса SAS. Используйте маркер SAS, чтобы создать учетные данные SQL для URL-адреса контейнера BLOB-объектов. В SQL Server Management Studio с помощью указанного ниже запроса Transact-SQL создайте учетные данные для URL-адреса контейнера BLOB-объектов, основываясь на следующем примере:

    CREATE CREDENTIAL [https://managedbackupstorage.blob.core.windows.net/backupcontainer]   
    WITH IDENTITY = 'Shared Access Signature',  
    SECRET = 'sv=2014-02-14&sr=c&sig=xM2LXVo1Erqp7LxQ%9BxqK9QC6%5Qabcd%9LKjHGnnmQWEsDf%5Q%se=2015-05-14T14%3B93%4V20X&sp=rwdl'  
    
  2. Убедитесь, что служба агента SQL Server запущена и работает. Запустите агент SQL Server, если он еще не запущен. Для выполнения операций резервного копирования sql Server в Microsoft Azure требуется агент SQL Server выполнять операции резервного копирования. Можно установить автоматический запуск агента SQL Server, чтобы обеспечить регулярное выполнение операций резервного копирования.

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

  4. Включите и настройте управляемое резервное копирование SQL Server в Microsoft Azure: запустите SQL Server Management Studio и подключитесь к целевому экземпляру SQL Server. В окне запроса выполните приведенную ниже инструкцию, предварительно изменив значения имени базы данных, URL-адреса контейнера и срока хранения в соответствии с вашими требованиями.

    Внимание

    Чтобы включить управляемое резервное копирование на уровне экземпляра, укажите значение NULL для параметра database_name .

    USE msdb;  
    GO  
    EXEC msdb.managed_backup.sp_backup_config_basic   
     @enable_backup = 1,   
     @database_name = 'yourdatabasename',  
     @container_url = 'https://managedbackupstorage.blob.core.windows.net/backupcontainer',   
     @retention_days = 30  
    GO  
    

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

  5. Просмотрите конфигурацию расширенного события по умолчанию: просмотрите параметры расширенного события, выполнив следующую инструкцию Transact-SQL.

    SELECT * FROM msdb.managed_backup.fn_get_current_xevent_settings()  
    

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

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

    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.managed_backup.sp_set_parameter  
      @parameter_name = 'SSMBackup2WANotificationEmailIds',  
      @parameter_value = '<email1;email2>'  
      
  7. Просмотр файлов резервной копии в учетной записи служба хранилища Azure: Подключение учетной записи хранения из SQL Server Management Studio или портал Azure. Все файлы резервных копий отобразятся в указанном контейнере. Обратите внимание, что база данных и резервная копия журнала могут отображаться в течение 5 минут после включения управляемого резервного копирования SQL Server в Microsoft Azure для базы данных.

  8. Отслеживайте состояние работоспособности. Вы можете использовать для мониторинга настроенные ранее уведомления по электронной почте либо активно отслеживать события в журнале. Ниже приведены примеры инструкций 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 nvarchar (512),  
    timestamp datetime  
    )  
    
    INSERT INTO @eventresult  
    
    EXEC managed_backup.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 managed_backup.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 managed_backup.sp_get_backup_diagnostics @begin_time = @startofweek, @end_time = @endofweek;  
    

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

См. также

Управляемое резервное копирование SQL Server в Azure