Azure SQL Database를 사용하여 최대 10년 동안 별도의 Azure Blob 스토리지 컨테이너에서 자동으로 백업을 유지하도록 LTR(장기 백업 보존) 정책을 설정할 수 있습니다. 그런 다음, Azure Portal, Azure CLI 또는 PowerShell에서 이러한 백업을 사용하여 데이터베이스를 복구할 수 있습니다.
CLI 참조 명령을 로컬에서 실행하려면 Azure CLI를 설치합니다. Windows 또는 macOS에서 실행 중인 경우 Docker 컨테이너에서 Azure CLI를 실행하는 것이 좋습니다. 자세한 내용은 Docker 컨테이너에서 Azure CLI를 실행하는 방법을 참조하세요.
로컬 설치를 사용하는 경우 az login 명령을 사용하여 Azure CLI에 로그인합니다. 인증 프로세스를 완료하려면 터미널에 표시되는 단계를 수행합니다. 다른 로그인 옵션은 Azure CLI를 사용하여 로그인을 참조하세요.
메시지가 표시되면 처음 사용할 때 Azure CLI 확장을 설치합니다. 확장에 대한 자세한 내용은 Azure CLI에서 확장 사용을 참조하세요.
PowerShell Azure Resource Manager 모듈은 여전히 Azure SQL 데이터베이스에서 지원되지만 향후의 모든 개발은 Az.Sql 모듈을 위한 것입니다. 이러한 cmdlet은 AzureRM.Sql을 참조하세요. Az 모듈 및 AzureRm 모듈의 명령에 대한 인수는 실질적으로 동일합니다.
Get-AzSqlDatabaseLongTermRetentionBackup 및 Restore-AzSqlDatabase의 경우 다음 역할 중 하나의 구성원이어야 합니다.
Azure Portal에서 내 서버로 이동하여 백업을 선택합니다. 특정 데이터베이스에 대하여 사용할 수 있는 LTR 백업을 확인하려면 사용할 수 있는 LTR 백업 열에서 관리를 선택합니다. 선택한 데이터베이스에 대해 사용할 수 있는 LTR 백업이 포함된 창이 표시됩니다.
표시되는 사용 가능한 LTR 백업 창에서 사용 가능한 백업을 검토합니다. 복원에 사용할 백업을 선택합니다.
사용 가능한 LTR 백업을 복원하려면, 복원하려는 백업을 선택한 다음 복원을 선택합니다.
새로운 데이터베이스의 이름을 선택한 다음 검토 + 만들기를 선택하여 복원 세부 정보를 검토합니다. 만들기를 선택하여 선택한 백업의 데이터 베이스를 복원합니다.
도구 모음에서 알림 아이콘을 선택하여 해당 복원 작업의 상태를 조회합니다.
복원 작업이 완료되면 SQL Database 페이지를 열어 새로 복원된 데이터베이스를 봅니다.
az sql db ltr-backup restore \
--dest-database targetdb \
--dest-server myserver \
--dest-resource-group mygroup \
--backup-id $get_backup_id
중요
서버나 리소스 그룹 삭제 후 LTR 백업을 복원하려면 해당 서버의 구독으로 범위가 지정된 권한을 갖춘 채로 해당 구독이 활성 상태여야 합니다. 또한 선택적인 -ResourceGroupName 매개 변수도 생략해야 합니다.
참고
여기에서 SQL Server Management Studio를 사용하여 복원된 데이터베이스에 연결하여 데이터베이스 교환과 같은 필요한 작업을 수행할 수 있습니다. 특정 시점 복원을 참조하세요.
LTR 정책 보기
이 예제에서는 서버 내의 LTR 정책을 나열하는 방법을 보여줍니다.
# get all LTR policies within a server
$ltrPolicies = Get-AzSqlDatabase -ResourceGroupName $resourceGroup -ServerName $serverName | `
Get-AzSqlDatabaseLongTermRetentionPolicy
# get the LTR policy of a specific database
$ltrPolicies = Get-AzSqlDatabaseBackupLongTermRetentionPolicy -ServerName $serverName -DatabaseName $dbName `
-ResourceGroupName $resourceGroup
# get the list of all LTR backups in a specific Azure region
# backups are grouped by the logical database id, within each group they are ordered by the timestamp, the earliest backup first
$ltrBackups = Get-AzSqlDatabaseLongTermRetentionBackup -Location $server.Location
# get the list of LTR backups from the Azure region under the named server
$ltrBackups = Get-AzSqlDatabaseLongTermRetentionBackup -Location $server.Location -ServerName $serverName
# get the LTR backups for a specific database from the Azure region under the named server
$ltrBackups = Get-AzSqlDatabaseLongTermRetentionBackup -Location $server.Location -ServerName $serverName -DatabaseName $dbName
# list LTR backups only from live databases (you have option to choose All/Live/Deleted)
$ltrBackups = Get-AzSqlDatabaseLongTermRetentionBackup -Location $server.Location -DatabaseState Live
# only list the latest LTR backup for each database
$ltrBackups = Get-AzSqlDatabaseLongTermRetentionBackup -Location $server.Location -ServerName $serverName -OnlyLatestPerDatabase
LTR 백업에서 복원
이 예제에서는 LTR 백업에서 복원하는 방법을 보여줍니다. 해당 인터페이스는 변경되지 않았지만 해당 리소스 ID 매개 변수에는 이제 LTR 백업 리소스 ID가 필요합니다.
# restore a specific LTR backup as an P1 database on the server $serverName of the resource group $resourceGroup
Restore-AzSqlDatabase -FromLongTermRetentionBackup -ResourceId $ltrBackup.ResourceId -ServerName $serverName -ResourceGroupName $resourceGroup `
-TargetDatabaseName $dbName -ServiceObjectiveName P1
중요
서버나 리소스 그룹 삭제 후 LTR 백업을 복원하려면 해당 서버의 구독으로 범위가 지정된 권한을 갖춘 채로 해당 구독이 활성 상태여야 합니다. 또한 선택적 -ResourceGroupName 매개 변수를 생략해야 합니다.
LTR 백업을 사용하여 규정 준수 또는 기타 중요 업무용 요구 사항을 충족하는 경우 주기적으로 복구 훈련을 수행하여 LTR 백업을 복원할 수 있는지, 복원 후 데이터베이스 상태가 예상과 같은지 확인하는 것이 좋습니다.
참고
여기에서 SQL Server Management Studio를 사용하여 복원된 데이터베이스에 연결하고, 이 데이터베이스에서 약간의 데이터를 추출하여 기존 데이터베이스에 복사하거나 기존 데이터베이스를 삭제하고 복원된 데이터베이스 이름을 기존 데이터베이스 이름으로 변경하는 등 필요한 작업을 수행할 수 있습니다. 특정 시점 복원을 참조하세요.
LTR 백업 삭제
LTR 정책을 사용하여 특정 데이터베이스에 대해 보존되는 백업을 삭제합니다.
Important
LTR 백업을 삭제하면 되돌릴 수 없습니다. 서버를 삭제한 후 LTR 백업을 삭제하려면 구독 범위 권한이 있어야 합니다. ‘장기 보존 백업 삭제’ 작업으로 필터링하여 Azure Monitor에서 각 삭제에 대한 알림을 설정할 수 있습니다. 활동 로그에는 요청한 사람과 시기에 대한 정보가 포함되어 있습니다. 자세한 지침은 활동 로그 경고 만들기를 참조하세요.