다음을 통해 공유


Azure CLI를 사용하여 Azure VM의 SQL 데이터베이스 관업

Azure CLI는 명령줄 또는 스크립트를 통해 Azure 리소스를 만들고 관리하는 데 사용됩니다. 이 문서에서는 Azure CLI를 사용하여 Azure VM에서 SQL 데이터베이스를 백업하고 주문형 백업을 트리거하는 방법을 설명합니다. Azure Portal에서 이 작업을 수행해도 됩니다.

이 문서에서는 Azure VM에 SQL 데이터베이스가 이미 설치되어 있다고 가정합니다. (Azure CLI를 사용하여 VM 만들기 가능).

이 문서에서는 다음을 수행하는 방법을 알아봅니다.

  • Recovery Services 자격 증명 모음 만들기
  • SQL 서버 등록 및 데이터베이스 검색
  • SQL 데이터베이스에서 백업 사용
  • 주문형 백업 트리거

Azure VM에서의 SQL은 현재 지원되는 시나리오를 참조하세요.

사전 요구 사항

Recovery Services 자격 증명 모음 만들기

Recovery Services 자격 증명 모음은 Azure VM 또는 Azure VM에서 실행되는 워크로드(예: SQL 또는 HANA 데이터베이스)와 같은 보호된 각 리소스의 백업 데이터를 저장하는 논리 컨테이너입니다. 보호된 리소스에 대한 백업 작업이 실행될 때 Recovery Services 자격 증명 모음 내에 복구 지점을 만듭니다. 이러한 복구 지점 중 하나를 사용하여 지정된 특정 시점으로 데이터를 복원할 수 있습니다.

az backup vault create 명령을 사용하여 Recovery Services 자격 증명 모음을 만듭니다. 보호하려는 VM의 리소스 그룹과 위치를 사용합니다. Azure CLI를 사용하여 Windows VMLinux VM을 만드는 방법을 알아봅니다.

이 문서에서는 다음을 사용합니다.

  • SQLResourceGroup 리소스 그룹
  • testSQLVM VM
  • westus2 위치의 리소스

다음 명령을 실행하여 SQLVault라는 자격 증명 모음을 만듭니다.

az backup vault create --resource-group SQLResourceGroup \
    --name SQLVault \
    --location westus2

기본적으로 Recovery Services 자격 증명 모음은 지역 중복 스토리지에 대해 설정됩니다. 지역 중복 스토리지는 보조 Azure 지역이 주 지역에서 수백 마일 떨어져 있더라도 백업 데이터가 보조 Azure 지역에 복제되었음을 보장합니다. 스토리지 중복 설정을 수정해야 하는 경우 az backup vault backup-properties set 명령을 사용합니다.

az backup vault backup-properties set \
    --name SQLVault  \
    --resource-group SQLResourceGroup \
    --backup-storage-redundancy "LocallyRedundant/GeoRedundant"

자격 증명 모음이 성공적으로 생성되었는지 확인하려면 az backup vault list 명령을 사용합니다. 응답은 다음과 같이 표시됩니다.

Location   Name             ResourceGroup
---------  ---------------  -------------  
westus2    SQLVault     	SQLResourceGroup

SQL Server 등록 및 보호

Recovery Services 자격 증명 모음에 SQL Server를 등록하려면 az backup container register 명령을 사용합니다. VMResourceId는 SQL을 설치하기 위해 만든 VM의 리소스 ID입니다.

az backup container register --resource-group SQLResourceGroup \
    --vault-name SQLVault \
    --workload-type SQLDataBase \
    --backup-management-type AzureWorkload \
    --resource-id VMResourceId

참고 항목

VM에 자격 증명 모음과 동일한 리소스 그룹이 없으면 SQLResourceGroup에서 자격 증명 모음이 생성된 리소스 그룹을 사용합니다.

SQL 서버를 등록하면 현재 데이터베이스가 자동으로 검색됩니다. 그러나 나중에 추가될 수 있는 새 데이터베이스를 검색하려면 등록된 SQL 서버에 추가된 새 데이터베이스 검색 섹션을 참조하세요.

SQL 인스턴스가 자격 증명 모음에 성공적으로 등록되었는지 확인하려면 az backup container list 명령을 사용합니다. 응답은 다음과 같이 표시됩니다.

Name                                                    Friendly Name    Resource Group        Type           Registration Status
------------------------------------------------------  --------------   --------------------  ---------      ----------------------
VMAppContainer;Compute;SQLResourceGroup;testSQLVM   	testSQLVM        SQLResourceGroup  		AzureWorkload  Registered

참고 항목

위의 출력에서 열 name은 컨테이너 이름을 참조합니다. 이 컨테이너 이름은 다음 섹션에서 백업을 사용하고 트리거하는 데 사용됩니다. 예를 들면 VMAppContainer;Compute;SQLResourceGroup;testSQLVM입니다.

SQL 데이터베이스에서 백업 사용

az backup protectable-item list 명령은 앞선 단계에서 등록한 SQL 인스턴스에서 검색된 모든 데이터베이스를 나열합니다.

az backup protectable-item list --resource-group SQLResourceGroup \
    --vault-name SQLVault \
    --workload-type SQLDataBase \
	--backup-management-type AzureWorkload \
	--protectable-item-type SQLDataBase
    --output table

이 목록에서 백업하려는 데이터베이스를 찾아야 하며 목록은 다음과 같이 표시됩니다.

Name                           		Protectable Item Type    ParentName    ServerName    	IsProtected
-----------------------------  		----------------------   ------------  -----------   	------------
sqldatabase;mssqlserver;master      SQLDataBase              MSSQLServer   testSQLVM        NotProtected  
sqldatabase;mssqlserver;model       SQLDataBase              MSSQLServer   testSQLVM        NotProtected  
sqldatabase;mssqlserver;msdb        SQLDataBase              MSSQLServer   testSQLVM        NotProtected  

이제 sqldatabase;mssqlserver;master 데이터베이스의 백업을 구성합니다.

데이터베이스에서 한 번에 하나씩 백업을 구성하고 보호하려면 az backup protection enable-for-azurewl 명령을 사용합니다. 사용할 정책의 이름을 입력합니다. CLI를 사용하여 정책을 만들려면 az backup policy create 명령을 사용합니다. 이 문서에서는 testSQLPolicy 정책을 사용했습니다.

az backup protection enable-for-azurewl --resource-group SQLResourceGroup \
    --vault-name SQLVault \
    --policy-name SQLPolicy \
    --protectable-item-name "sqldatabase;mssqlserver;master"  \
    --protectable-item-type SQLDataBase \
    --server-name testSQLVM \
    --workload-type SQLDataBase \
    --output table

SQL Always On 가용성 그룹이 있고 가용성 그룹 내에서 보호할 수 있는 데이터 원본을 식별하려면 같은 명령을 사용하면 됩니다. 여기서 보호할 수 있는 항목 종류는 SQLAG입니다.

위 백업 구성이 완료되었는지 확인하려면 az backup job list 명령을 사용합니다. 출력은 다음과 같이 나타납니다.

Name                                  Operation         Status     Item Name   Start Time UTC
------------------------------------  ---------------   ---------  ----------  -------------------  
e0f15dae-7cac-4475-a833-f52c50e5b6c3  ConfigureBackup   Completed  master         2019-12-03T03:09:210831+00:00  

az backup job list 명령은 등록, 백업 구성 및 백업 데이터 삭제와 같은 다른 작업 외에도 보호된 데이터베이스에서 실행되었거나 현재 실행 중인 모든 백업 작업(예약 또는 요청 시)을 나열합니다.

참고 항목

Azure Backup은 Azure VM에서 실행되는 SQL 데이터베이스를 백업할 때 일광 절약 시간제 변경을 자동으로 조정하지 않습니다.

필요에 따라 정책을 수동으로 수정합니다.

자동 보호 사용

원활한 백업 구성을 위해 나중에 추가된 모든 데이터베이스는 특정 정책으로 자동 보호될 수 있습니다. 자동 보호를 사용하려면 az backup protection auto-enable-for-azurewl 명령을 사용합니다.

지침은 향후 모든 데이터베이스를 백업하는 지침이므로 작업은 SQLInstance 수준에서 완료됩니다.

az backup protection auto-enable-for-azurewl --resource-group SQLResourceGroup \
    --vault-name SQLVault \
    --policy-name SQLPolicy \
    --protectable-item-name "sqlinstance;mssqlserver"  \
    --protectable-item-type SQLInstance \
    --server-name testSQLVM \
    --workload-type MSSQL\
    --output table

주문형 백업 트리거

주문형 백업을 트리거하려면 az backup protection backup-now 명령을 사용합니다.

참고 항목

이 백업의 보존 기간은 실행한 주문형 백업 유형에 따라 결정됩니다.

  • 주문형 전체는 백업을 최소 45일부터 최대 99년까지 보존됩니다.
  • 주문형 복사 전용 전체는 보존을 위해 모든 값을 허용합니다.
  • 주문형 차등은 정책에 설정된 예약된 차등 보존에 따라 백업을 보존합니다.
  • 주문형 로그는 정책에 설정된 예약 로그 보존에 따라 백업을 보존합니다.
az backup protection backup-now --resource-group SQLResourceGroup \
    --item-name sqldatabase;mssqlserver;master \
    --vault-name SQLVault \
    --container-name VMAppContainer;Compute;SQLResourceGroup;testSQLVM \
    --backup-type Full
    --retain-until 01-01-2040
    --output table

출력은 다음과 같이 나타납니다.

Name                                  ResourceGroup
------------------------------------  -------------
e0f15dae-7cac-4475-a833-f52c50e5b6c3  sqlResourceGroup

응답에 작업 이름이 제공됩니다. 이 작업 이름을 사용하여 az backup job show 명령을 사용해서 작업 상태를 추적할 수 있습니다.

다음 단계