Azure에 대한 SQL Server 관리 백업 사용 설정

적용 대상:SQL Server

이 항목에서는 데이터베이스 및 인스턴스 수준 모두에서 기본 설정으로 Microsoft Azure에 SQL Server 관리 백업을 사용하도록 설정하는 방법에 대해 설명합니다. 또한 메일 알림을 사용으로 설정하는 방법과 백업 활동을 모니터링하는 방법에 대해서도 설명합니다.

이 자습서에서는 Azure PowerShell을 사용합니다. 자습서를 시작하기 전에 Azure PowerShell을 다운로드 및 설치하십시오.

중요

고급 옵션을 사용하거나 사용자 지정 일정을 사용하려면 먼저 해당 설정을 구성한 후 Microsoft Azure에 대한 SQL Server 관리 백업을 사용하도록 설정합니다. 자세한 내용은 Microsoft Azure에 대한 SQL Server 관리 백업에 대한 고급 옵션 구성을 참조하세요.

Azure Blob Storage 컨테이너 만들기

이 프로세스에는 Azure 계정이 필요합니다. 계정이 이미 있는 경우 다음 단계로 이동합니다. 그렇지 않을 경우 무료 평가판 으로 시작한 후에 구매 옵션을 살펴볼 수 있습니다.

스토리지 계정에 대한 자세한 내용은 Azure Storage 계정 정보를 참조하세요.

  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. 컨테이너에 액세스하기 위한 공유 액세스 서명(SAS)을 생성합니다. 다음 명령은 1년 후에 만료되는 <backupContainer> 미확인 개체 컨테이너에 대한 SAS 토큰을 생성합니다.

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

참고 항목

이러한 단계는 Azure Portal을 사용하여 수행할 수도 있습니다.

출력에는 컨테이너 및/또는 SAS 토큰에 대한 URL이 포함됩니다. 다음은 이에 대한 예입니다.

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을 분리합니다(물음표는 포함하지 않음). 예를 들어 위의 출력은 다음과 같은 두 값이 됩니다.

Type 출력
컨테이너 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

SQL 자격 증명을 만드는 데 사용할 컨테이너 URL과 SAS를 기록합니다. SAS에 대한 자세한 내용은 공유 액세스 서명, 1부: SAS 모델 이해를 참조하세요.

Azure에 대한 관리 백업 사용

  1. SAS URL에 대한 SQL 자격 증명 만들기: SAS 토큰을 사용하여 미확인 개체 컨테이너 URL에 대한 SQL 자격 증명을 생성합니다. SQL Server Management Studio에서 다음 Transact-SQL 쿼리를 사용하여 다음 예시에 따라 미확인 개체 컨테이너 URL에 대한 자격 증명을 만듭니다.

    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 에이전트 시작합니다. Microsoft Azure에 대한 SQL Server 관리 백업을 위해서는 백업 작업을 수행하기 위해 인스턴스에서 SQL Server 에이전트가 실행 중이어야 합니다. SQL Server 에이전트가 자동으로 실행되도록 설정하여 백업 작업이 정기적으로 수행되도록 할 수 있습니다.

  3. 보존 기간 결정: 백업 파일의 보존 기간을 결정합니다. 보존 기간은 일 단위로 지정되며 1~30일의 범위로 설정할 수 있습니다.

  4. Microsoft Azure에 대한 SQL Server 관리 백업 사용 설정 및 구성: 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  
    

    이제 지정한 데이터베이스에서 Microsoft Azure에 대한 SQL Server 관리 백업을 사용할 수 있습니다. 데이터베이스의 백업 작업의 실행을 위해서는 최대 15분이 걸릴 수 있습니다.

  5. 확장 이벤트 기본 구성 검토: 다음 Transact-SQL 문을 실행하여 확장 이벤트 설정을 검토합니다.

    SELECT * FROM msdb.managed_backup.fn_get_current_xevent_settings()  
    

    관리, 운영 및 분석 채널 이벤트는 기본적으로 사용으로 설정되어 있으며 사용 안 함으로 설정할 수 없습니다. 이는 수동 개입이 필요한 이벤트를 모니터링하기에 충분합니다. 디버그 이벤트를 사용하도록 설정할 수 있지만 디버그 채널에는 Microsoft Azure에 대한 SQL Server 관리 백업에서 문제를 감지하고 해결하는 데 사용하는 정보 및 디버그 이벤트가 포함되어 있습니다.

  6. 상태 알림 사용 설정 및 구성: Microsoft Azure에 대한 SQL Server 관리 백업에는 주의가 필요할 수 있는 오류나 경고에 대한 전자 메일 알림을 보내는 에이전트 작업을 생성하는 저장 프로시저가 있습니다. 다음 단계에서는 전자 메일 알림을 사용하도록 설정하고 구성하는 프로세스를 설명합니다.

    1. 인스턴스에서 아직 사용하도록 설정되지 않은 경우 데이터베이스 메일을 설치합니다. 자세한 내용은 데이터베이스 메일 구성을 참조하세요.

    2. 데이터베이스 메일을 사용하도록 SQL Server 에이전트 알림을 구성합니다. 자세한 내용은 데이터베이스 메일을 사용하도록 SQL Server 에이전트 메일 구성을 참조하세요.

    3. 백업 오류 및 경고 수신을 위한 전자 메일 알림 사용 설정: 쿼리 창에서 다음 Transact-SQL 문을 실행합니다.

      EXEC msdb.managed_backup.sp_set_parameter  
      @parameter_name = 'SSMBackup2WANotificationEmailIds',  
      @parameter_value = '<email1;email2>'  
      
  7. Azure Storage 계정에서 백업 파일 보기: SQL Server Management Studio 또는 Azure Portal에서 스토리지 계정에 연결합니다. 지정한 컨테이너에 백업 파일이 표시됩니다. 데이터베이스에 대해 Microsoft Azure에 SQL Server 관리 백업을 사용하도록 설정한 후 5분 이내에 데이터베이스 및 로그 백업이 표시될 수 있습니다.

  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;  
    

이 섹션에서 설명되는 단계는 특히 데이터베이스에서 처음으로 Microsoft Azure에 SQL Server 관리 백업을 구성하기 위한 것입니다. 동일한 시스템 저장 프로시저를 사용하여 기존 구성을 수정하고 새 값을 제공할 수 있습니다.

참고 항목

Azure에 SQL Server 관리 백업