다음을 통해 공유


Azure에 SQL Server 관리 백업 - 보존 및 스토리지 설정

이 항목에서는 데이터베이스에 대해 Microsoft Azure에 SQL Server Managed Backup을 구성하고 instance 대한 기본 설정을 구성하는 기본 단계를 설명합니다. 또한 이 항목에서는 instance Microsoft Azure 서비스에 대한 관리되는 백업 SQL Server 일시 중지하고 다시 시작하는 데 필요한 단계에 대해서도 설명합니다.

Microsoft Azure에 SQL Server Managed Backup을 설정하는 전체 연습은 Azure에 SQL Server Managed Backup 설정가용성 그룹을 위해 Azure에 SQL Server Managed Backup 설정을 참조하세요.

시작하기 전에

제한 사항

필수 조건

  • SQL Server 에이전트가 실행 중이어야 합니다.

    경고

    SQL Server 에이전트가 일정 기간 동안 중지되었다가 다시 시작되면 SQL 에이전트가 중지된 후부터 시작될 때까지 경과된 시간에 따라 백업 작업이 증가할 수 있으며 실행 대기 중인 로그 백업의 백로그가 있을 수 있습니다. 시작 시 SQL Server 에이전트가 자동으로 시작되도록 구성해 보세요.

  • Azure Storage 계정 및 스토리지 계정에 인증 정보를 저장하는 SQL 자격 증명은 모두 Microsoft Azure에 SQL Server Managed Backup을 구성하기 전에 만들어야 합니다. 자세한 내용은 URL에 대한 SQL Server 백업 항목의 Introduction to Key Components and Concepts 섹션과 Lesson 2: Create a SQL Server Credential을 참조하세요.

    중요

    Microsoft Azure에 대한 SQL Server 관리되는 백업은 백업을 저장하는 데 필요한 컨테이너를 만듭니다. 컨테이너 이름은 '컴퓨터 이름 instance 이름' 형식을 사용하여 만들어집니다. AlwaysOn 가용성 그룹의 경우 컨테이너의 이름은 가용성 그룹의 GUID를 사용하여 지정됩니다.

보안

사용 권한

Microsoft Azure에 SQL Server Managed Backup을 사용하도록 설정하는 저장 프로시저를 실행하려면 ALTER ANY CREDENTIAL 권한과 sp_delete_backuphistory 대한 권한 및 EXECUTEsmart_admin.sp_backup_master_switch 저장 프로시저를 사용하는 db_backupoperator 데이터베이스 역할의 또는 멤버여야 System Administrator 합니다. 일반적으로 기존 설정을 검토하는 데 사용되는 저장 프로시저 및 함수는 저장 프로시저에 대한 Execute 권한과 함수에 대한 Select 권한이 각각 필요합니다.

데이터베이스 및 인스턴스용 Microsoft Azure에 SQL Server Managed Backup을 사용하도록 설정하기 위한 고려 사항

SQL Server 개별 데이터베이스 또는 전체 instance 대해 Microsoft Azure에 대한 관리되는 백업을 사용하도록 설정할 수 있습니다. 선택 항목은 instance 데이터베이스에 대한 복구 가능성 요구 사항, 여러 데이터베이스 및 인스턴스를 관리하기 위한 요구 사항 및 Azure Storage를 전략적으로 사용하는 방법에 따라 달라집니다.

데이터베이스 수준에서 Microsoft Azure에 SQL Server 관리되는 백업 사용

데이터베이스에 instance 다른 데이터베이스와 다른 백업 및 보존 기간(복구 가능성 SLA)에 대한 특정 요구 사항이 있는 경우 이 데이터베이스의 데이터베이스 수준에서 Microsoft Azure에 SQL Server 관리되는 백업을 구성합니다. 데이터베이스 수준 설정은 인스턴스 수준 구성 설정보다 우선 적용됩니다. 그러나 이러한 두 옵션을 동일한 인스턴스에서 함께 사용할 수 있습니다. 다음은 데이터베이스 수준에서 Microsoft Azure에 SQL Server Managed Backup을 사용하도록 설정할 때의 이점 및 고려 사항 목록입니다.

  • 세분성: 각 데이터베이스의 구성 설정을 분리합니다. 개별 데이터베이스에 대해 서로 다른 보존 기간을 지원할 수 있습니다.

  • 데이터베이스에 대해 인스턴스 수준 설정을 재정의합니다.

  • 백업할 개별 데이터베이스를 선택하여 스토리지 비용을 줄이는 데 사용될 수 있습니다.

  • 각 데이터베이스 관리를 필요로 합니다.

기본 설정을 사용하여 인스턴스 수준에서 Microsoft Azure에 SQL Server 관리되는 백업 사용

인스턴스에 있는 대부분의 데이터베이스에 대한 백업 및 보존 정책 요구 사항이 동일한 경우 또는 새 데이터베이스 인스턴스를 생성 시 자동으로 백업할 경우 이 설정을 사용합니다. 정책에 예외인 몇 개의 데이터베이스를 개별적으로 구성할 수 있습니다. 다음은 instance 수준에서 Microsoft Azure에 SQL Server Managed Backup을 사용하도록 설정할 때의 이점 및 고려 사항 목록입니다.

  • 인스턴스 수준의 자동화: 이후에 추가된 새 데이터베이스에 대해 자동으로 적용되는 공통 설정입니다.

  • 새 데이터베이스는 인스턴스에서 생성되자마자 자동으로 백업됩니다.

  • 보존 기간 요구 사항이 동일한 데이터베이스에 적용될 수 있습니다.

  • 기본 설정을 사용하여 instance 수준에서 Microsoft Azure 백업에 SQL Server Managed Backup을 사용하도록 설정한 경우에도 다른 보존 기간이 필요한 개별 데이터베이스를 구성할 수 있습니다. 백업에 Azure Storage를 사용하지 않으려는 경우 데이터베이스에 대해 Microsoft Azure에 대한 SQL Server 관리되는 백업을 사용하지 않도록 설정할 수도 있습니다.

데이터베이스에 대해 Microsoft Azure에 SQL Server 관리되는 백업 사용 및 구성

시스템 저장 프로시저 smart_admin.sp_set_db_backup 는 특정 데이터베이스에 대해 Microsoft Azure에 SQL Server Managed Backup을 사용하도록 설정하는 데 사용됩니다. 데이터베이스에서 처음으로 Microsoft Azure에 대한 관리되는 백업을 SQL Server 경우 Microsoft Azure에 SQL Server Managed Backup을 사용하도록 설정하는 것 외에도 다음 정보를 지정해야 합니다.

  • 데이터베이스의 이름입니다.

  • 보존 기간

  • Azure Storage 계정에 인증하는 데 사용되는 SQL 자격 증명입니다.

  • @encryption_algorithm NO_ENCRYPTION = 사용하여 암호화하지 않도록지정하거나 지원되는 암호화 알고리즘을 지정합니다. 암호화에 대한 자세한 내용은 Backup Encryption를 참조하세요.

데이터베이스 수준 구성을 위해 Microsoft Azure에 대한 관리되는 백업을 SQL Server Transact-SQL을 통해서만 지원됩니다.

Microsoft Azure에 대한 관리 백업을 SQL Server 데이터베이스에 대해 사용하도록 설정되면 이 정보가 유지됩니다. 구성을 변경하는 경우 데이터베이스 이름 및 변경하려는 설정만 필요하므로 Microsoft Azure에 대한 Managed Backup을 SQL Server 지정하지 않으면 다른 매개 변수에 대한 기존 값이 유지됩니다.

중요

데이터베이스에서 Microsoft Azure에 SQL Server Managed Backup을 구성하기 전에 기존 구성에 유용할 수 있습니다(있는 경우). 데이터베이스에 대한 구성 설정을 검토하는 단계는 이 섹션의 뒷부분에서 설명합니다.

  • Transact-SQL 사용:

    Microsoft Azure에 SQL Server Managed Backup을 처음으로 사용하도록 설정하는 경우 필요한 매개 변수는 @database_name, @credential_name, @encryption_algorithm@enable_backup @storage_url 매개 변수는 선택 사항입니다. 매개 변수에 대한 @storage_url 값을 제공하지 않으면 SQL 자격 증명의 스토리지 계정 정보를 사용하여 값이 파생됩니다. 스토리지 URL을 제공하는 경우 스토리지 계정의 루트에 대한 URL만 제공해야 하고 지정한 SQL 자격 증명의 정보와 일치시켜야 합니다.

    1. 데이터베이스 엔진에 연결합니다.

    2. 표준 도구 모음에서 새 쿼리를 클릭합니다.

    3. 다음 예제를 복사하여 쿼리 창에 붙여넣고 를 클릭합니다 Execute. 이 예제에서는 'TestDB' 데이터베이스에 대해 Microsoft Azure에 SQL Server Managed Backup을 사용하도록 설정합니다. 보존 기간은 30일로 설정됩니다. 이 예제에서는 암호화 알고리즘 및 암호기 정보를 지정하여 암호화 옵션을 사용합니다.

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

    중요

    보존 기간은 1일에서 30일 사이의 값으로 설정될 수 있습니다.

    암호화용 인증서 만들기에 대한 자세한 내용은 Create an Encrypted Backup의 백업 인증서 만들기 단계를 참조하세요.

    이 저장 프로시저에 대한 자세한 내용은 smart_admin.set_db_backup(Transact-SQL)을 참조하세요.

    데이터베이스에 대한 구성 설정을 검토하려면 다음 쿼리를 사용합니다.

    Use msdb  
    GO  
    SELECT * FROM smart_admin.fn_backup_db_config('TestDB')  
    

인스턴스에 대한 Microsoft Azure 설정에 대한 기본 SQL Server 관리되는 백업 사용 및 구성

시스템 저장 프로시저 smart_admin.set_instance_backup 또는 SQL Server Management Studio 사용하는 두 가지 방법으로 instance 수준에서 Microsoft Azure에 대한 기본 SQL Server Managed Backup 설정을 사용하도록 설정하고 구성할 수 있습니다. 두 가지 방법이 아래에 설명되어 있습니다.

smart_admin.set_instance_backup:. @enable_backup 매개 변수의 값을 1 로 지정하면 백업을 설정하고 기본 구성을 설정할 수 있습니다. 이러한 기본 설정은 인스턴스 수준에서 적용되면 이 인스턴스에 추가된 모든 새 데이터베이스에 적용됩니다. Microsoft Azure에 대한 SQL Server 관리되는 백업을 처음으로 사용하도록 설정한 경우 instance Microsoft Azure에 SQL Server Managed Backup을 사용하도록 설정하는 것 외에도 다음 정보를 제공해야 합니다.

  • 보존 기간

  • Azure Storage 계정에 인증하는 데 사용되는 SQL 자격 증명입니다.

  • 암호화 옵션. @encryption_algorithm NO_ENCRYPTION = 사용하여 암호화하지 않도록지정하거나 지원되는 암호화 알고리즘을 지정합니다. 암호화에 대한 자세한 내용은 Backup Encryption를 참조하세요.

이러한 설정은 설정되면 유지됩니다. 구성을 변경하는 경우 데이터베이스 이름과 변경하려는 설정만 필요합니다. microsoft Azure에 대한 SQL Server 관리되는 백업은 지정되지 않은 경우 기존 값을 유지합니다.

중요

instance Microsoft Azure에 SQL Server Managed Backup을 구성하기 전에 기존 구성에 검사 것이 유용할 수 있습니다(있는 경우). 데이터베이스에 대한 구성 설정을 검토하는 단계는 이 섹션의 뒷부분에서 설명합니다.

SQL Server Management Studio: SQL Server Management Studio에서 이 태스크를 수행하려면 개체 탐색기로 이동하여 관리 노드를 확장하고 관리되는 백업을 마우스 오른쪽 단추로 클릭합니다. 구성을 선택합니다. 관리되는 백업 대화 상자가 열립니다. 이 대화 상자를 사용하여 보존 기간, SQL 자격 증명, 스토리지 URL 및 암호화 설정을 지정할 수 있습니다. 이 대화 상자에 대한 구체적인 도움말은 관리되는 백업 구성(SQL Server Management Studio)을 참조하세요.

Transact-SQL 사용

  1. 데이터베이스 엔진에 연결합니다.

  2. 표준 도구 모음에서 새 쿼리를 클릭합니다.

  3. 다음 예제를 복사하여 쿼리 창에 붙여넣고 를 클릭합니다 Execute.

Use msdb;  
Go  
   EXEC smart_admin.sp_set_instance_backup  
                @retention_days=30   
                ,@credential_name='sqlbackuptoURL'  
                ,@encryption_algorithm ='AES_128'  
                ,@encryptor_type= 'Certificate'  
                ,@encryptor_name='MyBackupCert'  
                ,@enable_backup=1;  
GO  
  

중요

보존 기간은 1일에서 30일 사이의 값으로 설정될 수 있습니다.

암호화용 인증서 만들기에 대한 자세한 내용은 Create an Encrypted Backup의 백업 인증서 만들기 단계를 참조하세요.

인스턴스에 대한 기본 구성 설정을 보려면 다음 쿼리를 사용합니다.

Use msdb;  
GO  
SELECT * FROM smart_admin.fn_backup_instance_config ();

PowerShell 사용

  1. PowerShell 인스턴스를 시작합니다.

  2. 다음 스크립트를 설정에 맞게 수정한 후 실행합니다.

    cd SQLSERVER:\SQL\Computer\MyInstance
    $encryptionOption = New-SqlBackupEncryptionOption -EncryptionAlgorithm Aes128 -EncryptorType ServerCertificate -EncryptorName "MyBackupCert"  
    Get-SqlSmartAdmin | Set-SqlSmartAdmin -BackupEnabled $True -BackupRetentionPeriodInDays 10 -EncryptionOption $encryptionOption  
    

중요

기본 설정을 구성한 후 새 데이터베이스를 만들면 기본 설정으로 데이터베이스가 구성되는 데 최대 15분이 걸릴 수 있습니다. 이는 Simple 에서 Full 또는 Bulk-Logged 복구 모델로 변경되는 데이터베이스에도 적용됩니다.

데이터베이스에 대해 Microsoft Azure에 대한 SQL Server Managed Backup 해제

시스템 저장 프로시저를 사용하여 Microsoft Azure 설정에 SQL Server 관리되는 백업을 sp_set_db_backup 사용하지 않도록 설정할 수 있습니다. @enableparameter 특정 데이터베이스에 대해 Microsoft Azure에 SQL Server 관리되는 백업을 사용하도록 설정하고 사용하지 않도록 설정하는 데 사용됩니다. 여기서 1은 구성 설정을 사용하도록 설정하고 0을 사용하지 않도록 설정합니다.

특정 데이터베이스에 대해 Microsoft Azure에 대한 SQL Server Managed Backup 을 해제하려면

  1. 데이터베이스 엔진에 연결합니다.

  2. 표준 도구 모음에서 새 쿼리를 클릭합니다.

  3. 다음 예제를 복사하여 쿼리 창에 붙여넣고 를 클릭합니다 Execute.

Use msdb;  
Go  
EXEC smart_admin.sp_set_db_backup   
                @database_name='TestDB'   
                ,@enable_backup=0;  
GO

인스턴스의 모든 데이터베이스에 대해 Microsoft Azure에 대한 SQL Server Managed Backup 해제

다음 절차는 인스턴스에서 현재 Microsoft Azure에 대한 SQL Server Managed Backup 이 설정되어 있는 모든 데이터베이스의 Microsoft Azure에 대한 SQL Server Managed Backup 구성 설정을 해제하려는 경우에 해당됩니다. 스토리지 URL, 보존 및 SQL 자격 증명과 같은 구성 설정은 메타데이터에 남아 있으며 나중에 데이터베이스에 대해 Microsoft Azure에 대한 SQL Server Managed Backup 이 설정되는 경우 다시 사용할 수 있습니다. Microsoft Azure 서비스에 SQL Server 관리되는 백업을 일시적으로 일시 중지하려는 경우 이 항목의 뒷부분에 나오는 다음 섹션에 설명된 master 스위치를 사용할 수 있습니다.

모든 데이터베이스에 대해 Microsoft Azure에 SQL Server 관리되는 백업을 사용하지 않도록 설정하려면 다음을 수행합니다.

  1. 데이터베이스 엔진에 연결합니다.

  2. 표준 도구 모음에서 새 쿼리를 클릭합니다.

  3. 다음 예제를 복사하여 쿼리 창에 붙여넣고 를 클릭합니다 Execute. 다음 예제에서는 Microsoft Azure에 대한 SQL Server 관리되는 백업이 instance 수준에서 구성되고 instance Microsoft Azure 지원 데이터베이스에 대한 모든 SQL Server 관리되는 백업이 구성되어 있는지 확인하고 시스템 저장 프로시저 sp_set_db_backup 를 실행하여 Microsoft Azure에 SQL Server 관리되는 백업을 사용하지 않도록 설정합니다.

-- Create a working table to store the database names  
Declare @DBNames TABLE  
  
       (  
             RowID int IDENTITY PRIMARY KEY  
             ,DBName varchar(500)  
  
       )  
-- Define the variables  
DECLARE @rowid int  
DECLARE @dbname varchar(500)  
DECLARE @SQL varchar(2000)  
-- Get the database names from the system function  
  
INSERT INTO @DBNames (DBName)  
  
SELECT db_name  
       FROM
  
       smart_admin.fn_backup_db_config (NULL)  
       WHERE is_smart_backup_enabled = 1  
  
       --Select DBName from @DBNames 
       select @rowid = min(RowID) FROM @DBNames  
  
       WHILE @rowID IS NOT NULL  
       Begin
             Set @dbname = (Select DBName From @DBNames Where RowID = @rowid)  
             Begin  
             Set @SQL = 'EXEC smart_admin.sp_set_db_backup    
                @database_name= '''+'' + @dbname+ ''+''',   
                @enable_backup=0'  
  
            EXECUTE (@SQL)  
  
             END  
             Select @rowid = min(RowID)  
             From @DBNames Where RowID > @rowid  
  
       END

인스턴스의 모든 데이터베이스에 대한 구성 설정을 보려면 다음 쿼리를 사용합니다.

Use msdb;  
GO  
SELECT * FROM smart_admin.fn_backup_db_config (NULL);  
GO

인스턴스에 대해 Microsoft Azure에 대한 SQL Server Managed Backup 기본 설정 해제

인스턴스 수준의 기본 설정은 해당 인스턴스에 대해 만든 모든 새 데이터베이스에 적용됩니다. 더 이상 기본 설정이 필요하지 않는 경우 smart_admin.sp_set_instance_backup 시스템 저장 프로시저를 사용하여 이 구성을 해제할 수 있습니다. 해제하는 경우 스토리지 URL, 보존 설정, SQL 자격 증명 이름 등의 다른 구성 설정이 제거되지 않습니다. 이러한 설정은 나중에 인스턴스에 대해 Microsoft Azure에 대한 SQL Server Managed Backup 이 설정되면 사용됩니다.

Microsoft Azure에 대한 SQL Server Managed Backup 기본 구성 설정을 해제하려면

  1. 데이터베이스 엔진에 연결합니다.

  2. 표준 도구 모음에서 새 쿼리를 클릭합니다.

  3. 다음 예제를 복사하여 쿼리 창에 붙여넣고 를 클릭합니다 Execute.

    Use msdb;  
    Go  
    EXEC smart_admin.sp_set_instance_backup  
                    @enable_backup=0;  
    GO
    

PowerShell 사용

  1. PowerShell 인스턴스를 시작합니다.

  2. 다음 스크립트를 실행합니다.

    cd SQLSERVER:\SQL\Computer\MyInstance
    Set-SqlSmartAdmin -BackupEnabled $False  
    

인스턴스 수준에서 Microsoft Azure에 대한 SQL Server Managed Backup 일시 중지

짧은 시간 동안 Microsoft Azure에 대한 SQL Server Managed Backup 서비스를 일시 중지해야 하는 경우가 있습니다. smart_admin.sp_backup_master_switch 시스템 저장 프로시저를 사용하면 instance 수준에서 Microsoft Azure 서비스에 대한 SQL Server 관리되는 백업을 사용하지 않도록 설정할 수 있습니다. 동일한 저장 프로시저를 사용하여 Microsoft Azure에 대한 SQL Server Managed Backup을 다시 시작할 수 있습니다. @state 매개 변수는 Microsoft Azure에 대한 SQL Server 관리되는 백업을 해제할지 아니면 켜야 하는지를 정의하는 데 사용됩니다.

Transact-SQL을 사용하여 Microsoft Azure에 대한 SQL Server Managed Backup 서비스를 일시 중지하려면

  1. 데이터베이스 엔진에 연결합니다.

  2. 표준 도구 모음에서 새 쿼리를 클릭합니다.

  3. 다음 예제를 복사하여 쿼리 창에 붙여넣은 다음 Execute

Use msdb;  
GO  
EXEC smart_admin.sp_backup_master_switch @new_state=0;  
Go  
  

PowerShell을 사용하여 Microsoft Azure에 SQL Server 관리되는 백업을 일시 중지하려면

  1. PowerShell 인스턴스를 시작합니다.

  2. 다음 스크립트를 설정에 맞게 수정한 후 실행합니다.

    cd SQLSERVER:\SQL\Computer\MyInstance
    Get-SqlSmartAdmin | Set-SqlSmartAdmin -MasterSwitch $False  
    

Transact-SQL을 사용하여 Microsoft Azure에 대한 SQL Server Managed Backup 을 다시 시작하려면

  1. 데이터베이스 엔진에 연결합니다.

  2. 표준 도구 모음에서 새 쿼리를 클릭합니다.

  3. 다음 예제를 복사하여 쿼리 창에 붙여넣은 다음 을 클릭합니다 Execute.

Use msdb;  
Go  
EXEC smart_admin. sp_backup_master_switch @new_state=1;  
GO

PowerShell을 사용하여 Microsoft Azure에 SQL Server 관리되는 백업을 다시 시작하려면

  1. PowerShell 인스턴스를 시작합니다.

  2. 다음 스크립트를 설정에 맞게 수정한 후 실행합니다.

    cd SQLSERVER:\SQL\Computer\MyInstance
    Get-SqlSmartAdmin | Set-SqlSmartAdmin -MasterSwitch $True