삭제된 컨테이너 또는 데이터베이스를 동일한 Azure Cosmos DB 계정으로 복원합니다.
- 아티클
적용 대상: NoSQL MongoDB Gremlin 테이블
Azure Cosmos DB 특정 시점 동일 계정 복원 기능을 사용하면 실수로 삭제된 컨테이너 또는 데이터베이스를 복구할 수 있습니다. 이 기능은 삭제된 데이터베이스 또는 컨테이너를 백업이 있는 지역의 동일한 기존 계정으로 복원합니다. 지속적인 백업 모드를 사용하면 최근 30일 이내의 아무 시점으로 복원할 수 있습니다.
필수 구성 요소
- Azure 구독 Azure 구독이 아직 없는 경우 시작하기 전에 Azure 체험 계정을 만듭니다.
- Azure Cosmos DB 계정. Azure Cosmos DB 계정에 다음 옵션 중 하나를 선택할 수 있습니다.
- 기존 Azure Cosmos DB 계정을 사용합니다.
- Azure 구독에서 새 Azure Cosmos DB 계정을 만듭니다.
- 약정 없이 무료로 Azure Cosmos DB 사용해 보기를 만듭니다.
삭제된 컨테이너 또는 데이터베이스 복원
Azure Portal, Azure CLI, Azure PowerShell 또는 Azure Resource Manager 템플릿을 사용하여 삭제된 컨테이너 또는 데이터베이스를 동일한 기존 계정에 복원합니다.
Azure Portal을 사용하여 삭제된 컨테이너 또는 데이터베이스를 복원합니다. 자식 컨테이너도 복원됩니다.
Azure Portal로 이동합니다.
Azure Cosmos DB 계정으로 이동한 다음, 특정 시점 복원 페이지로 이동합니다.
참고 항목
Azure Portal의 복원 창은
Microsoft.DocumentDB/locations/restorableDatabaseAccounts/*/read
권한이 있는 경우에만 채워집니다. 이 권한에 대한 자세한 내용은 백업 및 복원 권한을 참조하세요.동일한 계정에 복원 탭을 선택합니다.
데이터베이스의 경우 검색 쿼리를 입력하여 컨테이너 또는 데이터베이스와 관련된 삭제 이벤트에 대한 이벤트 피드를 필터링합니다.
다음으로, 시작 및 종료 값을 지정하여 삭제 이벤트를 필터링하는 데 사용할 기간을 만듭니다.
참고 항목
시작 필터는 현재 날짜보다 최대 30일 전으로 제한됩니다.
새로 고침을 선택하여 다양한 리소스 종류의 이벤트 목록에 필터를 적용하여 업데이트합니다.
시간을 확인한 다음, 복원을 선택하여 이전에 삭제된 리소스 중 선택한 리소스의 복원을 시작합니다.
Important
동일한 계정에서 복원 작업을 3개까지 활성화할 수 없습니다. 복원 작업이 진행 중인 동안 원본 계정을 삭제하면 복원 작업이 실패할 수 있습니다.
참고 항목
이벤트 피드에 리소스가 복원할 수 없음으로 표시됩니다. 이 피드는 리소스를 복원할 수 없는 이유에 대한 자세한 정보를 제공합니다. 대부분의 경우 데이터베이스의 자식 컨테이너를 복원하려면 먼저 부모 데이터베이스를 복원해야 합니다.
복원 작업을 시작한 후 Azure Portal의 알림 영역을 사용하여 작업을 추적합니다. 알림은 복원 중인 리소스의 상태 정보를 제공합니다. 복원이 진행 중인 동안 컨테이너의 상태는 만드는 중입니다. 복원 작업이 완료되면 상태가 온라인으로 변경됩니다.
Azure CLI를 사용하여 삭제된 컨테이너 또는 데이터베이스를 복원합니다. 자식 컨테이너도 복원됩니다.
Important
계정 내 복원 명령에 액세스하려면 Azure CLI 버전 2.58.0 이상이 필요합니다.
az cosmosdb restorable-database-account list 명령을 사용하여 모든 라이브 및 삭제된 복원 가능 데이터베이스 계정 목록을 검색합니다.
az cosmosdb restorable-database-account list \ --account-name <name-of-account>
[ { "accountName": "deleted-account-1", "apiType": "Sql", "creationTime": "2020-08-02T22:23:00.095870+00:00", "deletionTime": "2020-08-02T22:26:13.483175+00:00", "id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/abcd1234-d1c0-4645-a699-abcd1234", "location": "West US", "name": "abcd1234-d1c0-4645-a699-abcd1234", "restorableLocations": [ { "locationName": "West US" }, { "locationName": "East US" } ] } ]
az cosmosdb sql restorable-database list 명령을 사용하여 라이브 계정의 모든 복원 가능 데이터베이스 버전을 나열합니다.
az cosmosdb sql restorable-database list \ --instance-id <instance-id-of-account> \ --location <location>
참고 항목
모든 복원 가능 데이터베이스 삭제 이벤트를 나열하면 데이터베이스가 실제로 있었던 시간을 알 수 없는 시나리오에서 올바른 데이터베이스를 선택할 수 있습니다. 이벤트 피드의 응답에 Delete 작업 유형이 포함되어 있으면 삭제된 데이터베이스이며, 동일한 계정 내에 복원할 수 있습니다. 복원 타임스탬프는 삭제 타임스탬프 이전과 보존 기간 이내의 아무 타임스탬프로 설정할 수 있습니다.
az cosmosdb sql restorable-container list 명령을 사용하여 특정 데이터베이스에 있는 모든 복원 가능 컨테이너 버전을 나열합니다.
az cosmosdb sql restorable-container list \ --instance-id <instance-id-of-account> \ --database-rid <owner-resource-id-of-database> \ --location <location>
참고 항목
모든 복원 가능 데이터베이스 삭제 이벤트를 나열하면 데이터베이스가 실제로 있었던 시간을 알 수 없는 시나리오에서 올바른 컨테이너를 선택할 수 있습니다. 이벤트 피드의 응답에 Delete 작업 유형이 포함되어 있으면 삭제된 컨테이너이며, 동일한 계정 내에 복원할 수 있습니다. 복원 타임스탬프는 삭제 타임스탬프 이전과 보존 기간 이내의 아무 타임스탬프로 설정할 수 있습니다.
az cosmosdb sql database restore 명령을 사용하여 삭제된 데이터베이스의 복원 작업을 시작합니다. 복원 타임스탬프는 선택 사항입니다. 제공되지 않으면 마지막으로 삭제된 데이터베이스 인스턴스가 복원됩니다.
az cosmosdb sql database restore \ --resource-group <resource-group-name> \ --account-name <account-name> \ --name <database-name> \ --restore-timestamp <timestamp> \ --disable-ttl True
az cosmosdb sql container restore 명령을 사용하여 삭제된 컨테이너의 복원 작업을 시작합니다. 복원 타임스탬프는 선택 사항입니다. 제공되지 않으면 마지막으로 삭제된 컨테이너 인스턴스가 복원됩니다.
az cosmosdb sql container restore \ --resource-group <resource-group-name> \ --account-name <account-name> \ --database-name <database-name> \ --name <container-name> \ --restore-timestamp <timestamp> \ --disable-ttl True
az cosmosdb restorable-database-account list 명령을 사용하여 모든 라이브 및 삭제된 복원 가능 데이터베이스 계정 목록을 검색합니다.
az cosmosdb restorable-database-account list \ --account-name <name-of-account>
[ { "accountName": "deleted-account-1", "apiType": "Sql", "creationTime": "2020-08-02T22:23:00.095870+00:00", "deletionTime": "2020-08-02T22:26:13.483175+00:00", "id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/abcd1234-d1c0-4645-a699-abcd1234", "location": "West US", "name": "abcd1234-d1c0-4645-a699-abcd1234", "restorableLocations": [ { "locationName": "West US" }, { "locationName": "East US" } ] } ]
az cosmosdb mongodb restorable-database list 명령을 사용하여 라이브 계정의 모든 복원 가능 데이터베이스 버전을 나열합니다.
az cosmosdb mongodb restorable-database list \ --instance-id <instance-id-of-account> \ --location <location>
az cosmosdb mongodb restorable-collection list 명령을 사용하여 특정 데이터베이스에 있는 모든 복원 가능 컬렉션 버전을 나열합니다.
az cosmosdb mongodb restorable-collection list \ --instance-id <instance-id-of-account> \ --database-rid <owner-resource-id-of-database> \ --location <location>
az cosmosdb mongodb database restore 명령을 사용하여 삭제된 데이터베이스의 복원 작업을 시작합니다. 복원 타임스탬프는 선택 사항입니다. 제공되지 않은 경우 마지막으로 삭제된 데이터베이스 인스턴스가 복원됩니다.
az cosmosdb mongodb database restore \ --resource-group <resource-group-name> \ --account-name <account-name> \ --name <database-name> \ --restore-timestamp <timestamp> --disable-ttl True
az cosmosdb mongodb collection restore를 사용하여 삭제된 컬렉션에 대한 복원 작업을 시작합니다. 복원 타임스탬프는 선택 사항입니다. 제공되지 않은 경우 마지막으로 삭제된 컬렉션 인스턴스가 복원됩니다.
az cosmosdb mongodb collection restore \ --resource-group <resource-group-name> \ --account-name <account-name> \ --database-name <database-name> \ --name <container-name> \ --restore-timestamp <timestamp> \ --disable-ttl True
az cosmosdb restorable-database-account list 명령을 사용하여 모든 라이브 및 삭제된 복원 가능 데이터베이스 계정 목록을 검색합니다.
az cosmosdb restorable-database-account list \ --account-name <name-of-account>
[ { "accountName": "deleted-account-1", "apiType": "Sql", "creationTime": "2020-08-02T22:23:00.095870+00:00", "deletionTime": "2020-08-02T22:26:13.483175+00:00", "id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/abcd1234-d1c0-4645-a699-abcd1234", "location": "West US", "name": "abcd1234-d1c0-4645-a699-abcd1234", "restorableLocations": [ { "locationName": "West US" }, { "locationName": "East US" } ] } ]
az cosmosdb gremlin restorable-database list 명령을 사용하여 라이브 계정의 모든 복원 가능 데이터베이스 버전을 나열합니다.
az cosmosdb gremlin restorable-database list \ --instance-id <instance-id-of-account> \ --location <location>
az cosmosdb gremlin restorable-graph list 명령을 사용하여 특정 데이터베이스에 있는 모든 복원 가능 그래프 버전을 나열합니다.
az cosmosdb gremlin restorable-graph list \ --instance-id <instance-id-of-account> \ --database-rid <owner-resource-id-of-database> \ --location <location>
az cosmosdb gremlin database restore 명령을 사용하여 삭제된 데이터베이스의 복원 작업을 시작합니다. 복원 타임스탬프는 선택 사항입니다. 제공되지 않으면 마지막으로 삭제된 데이터베이스 인스턴스가 복원됩니다.
az cosmosdb gremlin database restore \ --resource-group <resource-group-name> \ --account-name <account-name> \ --name <database-name> \ --restore-timestamp <timestamp> \ --disable-ttl True
az cosmosdb gremlin graph restore 명령을 사용하여 삭제된 그래프의 복원 작업을 시작합니다. 복원 타임스탬프는 선택 사항입니다. 제공되지 않으면 마지막으로 삭제된 그래프 인스턴스가 복원됩니다.
az cosmosdb gremlin graph restore \ --resource-group <resource-group-name> \ --account-name <account-name> \ --database-name <database-name> \ --name <graph-name> \ --restore-timestamp <timestamp> \ --disable-ttl True
az cosmosdb restorable-database-account list 명령을 사용하여 모든 라이브 및 삭제된 복원 가능 데이터베이스 계정 목록을 검색합니다.
az cosmosdb restorable-database-account list \ --account-name <name-of-account>
[ { "accountName": "deleted-account-1", "apiType": "Sql", "creationTime": "2020-08-02T22:23:00.095870+00:00", "deletionTime": "2020-08-02T22:26:13.483175+00:00", "id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/abcd1234-d1c0-4645-a699-abcd1234", "location": "West US", "name": "abcd1234-d1c0-4645-a699-abcd1234", "restorableLocations": [ { "locationName": "West US" }, { "locationName": "East US" } ] } ]
az cosmosdb table restorable-table list 명령을 사용하여 라이브 계정의 모든 복원 가능 테이블 버전을 나열합니다.
az cosmosdb table restorable-table list \ --instance-id <instance-id-of-account> \ --location <location>
az cosmosdb table restore 명령을 사용하여 삭제된 테이블의 복원 작업을 시작합니다. 복원 타임스탬프는 선택 사항입니다. 제공되지 않으면 마지막으로 삭제된 테이블 인스턴스가 복원됩니다.
az cosmosdb table restore \ --resource-group <resource-group-name> \ --account-name <account-name> \ --table-name <table-name> \ --restore-timestamp <timestamp> \ --disable-ttl True
Azure PowerShell을 사용하여 삭제된 컨테이너 또는 데이터베이스를 복원합니다. 자식 컨테이너와 데이터베이스도 복원됩니다.
Important
in-account restore cmdlet에 액세스하려면 Azure PowerShell 버전 1.14.1 이상용 Az.Cosmos DB 모듈이 필요합니다.
[Get-AzCosmosDBRestorableDatabaseAccount](/powershell/module/az.cosmosdb/get-azCosmos DBrestorabledatabaseaccount) cmdlet을 사용하여 모든 라이브 및 삭제된 복원 가능한 데이터베이스 계정 목록을 검색합니다.
Get-AzCosmosDBRestorableDatabaseAccount
Id : /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/abcd1234-d1c0-4645-a699-abcd1234 DatabaseAccountInstanceId : abcd1234-d1c0-4645-a699-abcd1234 Location : West US DatabaseAccountName : deleted-account-1 CreationTime : 8/2/2020 10:23:00 PM DeletionTime : 8/2/2020 10:26:13 PM ApiType : Sql RestorableLocations : {West US, East US}
참고 항목
계정에
CreationTime
또는DeletionTime
필드가 있습니다. 이러한 필드는 지역에서도 존재합니다. 이러한 시간을 통해 리소스를 복원할 때 사용할 올바른 지역과 유효한 시간 범위를 선택할 수 있습니다.Get-AzCosmosDBSqlRestorableDatabase cmdlet을 사용하여 라이브 계정의 모든 복원 가능 데이터베이스 버전을 나열합니다.
$parameters = @{ DatabaseAccountInstanceId = "<instance-id-of-account>" Location = "<location>" } Get-AzCosmosDBSqlRestorableDatabase @parameters
참고 항목
모든 복원 가능 데이터베이스 삭제 이벤트를 나열하면 데이터베이스가 실제로 있었던 시간을 알 수 없는 시나리오에서 올바른 데이터베이스를 선택할 수 있습니다. 이벤트 피드의 응답에 Delete 작업 유형이 포함되어 있으면 삭제된 데이터베이스이며, 동일한 계정 내에 복원할 수 있습니다. 복원 타임스탬프는 삭제 타임스탬프 이전과 보존 기간 이내의 아무 타임스탬프로 설정할 수 있습니다.
Get-AzCosmosDBSqlRestorableContainer cmdlet을 사용하여 특정 데이터베이스에 있는 모든 복원 가능 컨테이너 버전을 나열합니다.
$parameters = @{ DatabaseAccountInstanceId = "<instance-id-of-account>" DatabaseRId = "<owner-resource-id-of-database>" Location = "<location>" } Get-AzCosmosDBSqlRestorableContainer @parameters
참고 항목
모든 복원 가능 데이터베이스 삭제 이벤트를 나열하면 데이터베이스가 실제로 있었던 시간을 알 수 없는 시나리오에서 올바른 컨테이너를 선택할 수 있습니다. 이벤트 피드의 응답에 Delete 작업 유형이 포함되어 있으면 삭제된 컨테이너이며, 동일한 계정 내에 복원할 수 있습니다. 복원 타임스탬프는 삭제 타임스탬프 이전과 보존 기간 이내의 아무 타임스탬프로 설정할 수 있습니다.
Restore-AzCosmos DBSqlDatabase cmdlet을 사용하여 삭제된 데이터베이스에 대한 복원 작업을 시작합니다. 복원 타임스탬프는 선택 사항입니다. 이 타임스탬프가 없으면 마지막으로 삭제된 데이터베이스 인스턴스가 복원됩니다.
$parameters = @{ ResourceGroupName = "<resource-group-name>" AccountName = "<account-name>" Name = "<database-name>" RestoreTimestampInUtc = "<timestamp>" } Restore-AzCosmos DBSqlDatabase @parameters
Restore-AzCosmos DBSqlContainer cmdlet을 사용하여 삭제된 컨테이너에 대한 복원 작업을 시작합니다. 복원 타임스탬프는 선택 사항입니다. 이 타임스탬프가 없으면 마지막으로 삭제된 컨테이너 인스턴스가 복원됩니다.
$parameters = @{ ResourceGroupName = "<resource-group-name>" AccountName = "<account-name>" DatabaseName = "<database-name>" Name = "<container-name>" RestoreTimestampInUtc = "<timestamp>" DisableTtl= $true } Restore-AzCosmos DBSqlContainer @parameters
Get-AzCosmosDBRestorableDatabaseAccount cmdlet을 사용하여 모든 라이브 및 삭제된 복원 가능 데이터베이스 계정 목록을 검색합니다.
Get-AzCosmosDBRestorableDatabaseAccount
Id : /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/abcd1234-d1c0-4645-a699-abcd1234 DatabaseAccountInstanceId : abcd1234-d1c0-4645-a699-abcd1234 Location : West US DatabaseAccountName : deleted-account-1 CreationTime : 8/2/2020 10:23:00 PM DeletionTime : 8/2/2020 10:26:13 PM ApiType : Sql RestorableLocations : {West US, East US}
참고 항목
계정에
CreationTime
또는DeletionTime
필드가 있습니다. 이러한 필드는 지역에서도 존재합니다. 이러한 시간을 통해 리소스를 복원할 때 사용할 올바른 지역과 유효한 시간 범위를 선택할 수 있습니다.Get-AzCosmosDBMongoDBRestorableDatabase cmdlet을 사용하여 라이브 계정의 모든 복원 가능 데이터베이스 버전을 나열합니다.
$parameters = @{ DatabaseAccountInstanceId = "<instance-id-of-account>" Location = "<location>" } Get-AzCosmosDBMongoDBRestorableDatabase @parameters
Get-AzCosmosDBMongoDBRestorableCollection cmdlet을 사용하여 특정 데이터베이스에 있는 모든 복원 가능 컬렉션 버전을 나열합니다. 복원 타임스탬프는 선택 사항입니다. 이 타임스탬프가 없으면 마지막으로 삭제된 컬렉션 인스턴스가 복원됩니다.
$parameters = @{ DatabaseAccountInstanceId = "<instance-id-of-account>" DatabaseRId = "<owner-resource-id-of-database>" Location = "<location>" } Get-AzCosmosDBMongoDBRestorableCollection @parameters
Restore-AzCosmos DBMongoDBDatabase cmdlet을 사용하여 삭제된 데이터베이스에 대한 복원 작업을 시작합니다.
$parameters = @{ ResourceGroupName = "<resource-group-name>" AccountName = "<account-name>" Name = "<database-name>" RestoreTimestampInUtc = "<timestamp>" DisableTtl=$true } Restore-AzCosmos DBMongoDBDatabase @parameters
Restore-AzCosmos DBMongoDBCollection cmdlet을 사용하여 삭제된 컬렉션에 대한 복원 작업을 시작합니다. 복원 타임스탬프는 선택 사항입니다. 제공되지 않으면 마지막으로 삭제된 컬렉션 인스턴스가 복원됩니다.
$parameters = @{ ResourceGroupName = "<resource-group-name>" AccountName = "<account-name>" DatabaseName = "<database-name>" Name = "<collection-name>" RestoreTimestampInUtc = "<timestamp>" DisableTtl=$true } Restore-AzCosmos DBMongoDBCollection @parameters
Get-AzCosmosDBRestorableDatabaseAccount cmdlet을 사용하여 모든 라이브 및 삭제된 복원 가능 데이터베이스 계정 목록을 검색합니다.
Get-AzCosmosDBRestorableDatabaseAccount
Id : /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/abcd1234-d1c0-4645-a699-abcd1234 DatabaseAccountInstanceId : abcd1234-d1c0-4645-a699-abcd1234 Location : West US DatabaseAccountName : deleted-account-1 CreationTime : 8/2/2020 10:23:00 PM DeletionTime : 8/2/2020 10:26:13 PM ApiType : Sql RestorableLocations : {West US, East US}
참고 항목
계정에
CreationTime
또는DeletionTime
필드가 있습니다. 이러한 필드는 지역에서도 존재합니다. 이러한 시간을 통해 리소스를 복원할 때 사용할 올바른 지역과 유효한 시간 범위를 선택할 수 있습니다.Get-AzCosmosDBGremlinRestorableDatabase cmdlet을 사용하여 라이브 계정의 모든 복원 가능 데이터베이스 버전을 나열합니다.
$parameters = @{ DatabaseAccountInstanceId = "<instance-id-of-account>" Location = "<location>" } Get-AzCosmosDBGremlinRestorableDatabase @parameters
Get-AzCosmosDBGremlinRestorableGraph cmdlet을 사용하여 특정 데이터베이스에 있는 모든 복원 가능 그래프 버전을 나열합니다.
$parameters = @{ DatabaseAccountInstanceId = "<instance-id-of-account>" DatabaseRId = "<owner-resource-id-of-database>" Location = "<location>" } Get-AzCosmosDBGremlinRestorableGraph @parameters
Restore-AzCosmos DBGremlinDatabase cmdlet을 사용하여 삭제된 데이터베이스에 대한 복원 작업을 시작합니다. 복원 타임스탬프는 선택 사항입니다. 제공되지 않은 경우 마지막으로 삭제된 데이터베이스 인스턴스가 복원됩니다.
$parameters = @{ ResourceGroupName = "<resource-group-name>" AccountName = "<account-name>" Name = "<database-name>" RestoreTimestampInUtc = "<timestamp>" DisableTtl=$true } Restore-AzCosmos DBGremlinDatabase @parameters
Restore-AzCosmos DBGremlinGraph cmdlet을 사용하여 삭제된 Graph에 대한 복원 작업을 시작합니다. 복원 타임스탬프는 선택 사항입니다. 그렇지 않은 경우 마지막으로 삭제된 Graph 인스턴스가 복원됩니다.
$parameters = @{ ResourceGroupName = "<resource-group-name>" AccountName = "<account-name>" DatabaseName = "<database-name>" Name = "<graph-name>" RestoreTimestampInUtc = "<timestamp>" DisableTtl=$true } Restore-AzCosmos DBGremlinGraph @parameters
[Get-AzCosmosDBRestorableDatabaseAccount](/powershell/module/az.cosmosdb/get-azCosmos DBrestorabledatabaseaccount) cmdlet을 사용하여 모든 라이브 및 삭제된 복원 가능한 데이터베이스 계정 목록을 검색합니다.
Get-AzCosmosDBRestorableDatabaseAccount
Id : /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/abcd1234-d1c0-4645-a699-abcd1234 DatabaseAccountInstanceId : abcd1234-d1c0-4645-a699-abcd1234 Location : West US DatabaseAccountName : deleted-account-1 CreationTime : 8/2/2020 10:23:00 PM DeletionTime : 8/2/2020 10:26:13 PM ApiType : Sql RestorableLocations : {West US, East US}
참고 항목
계정에
CreationTime
또는DeletionTime
필드가 있습니다. 이러한 필드는 지역에서도 존재합니다. 이러한 시간을 통해 리소스를 복원할 때 사용할 올바른 지역과 유효한 시간 범위를 선택할 수 있습니다.[Get-AzCosmosDBTableRestorableTable](/powershell/module/az.cosmosdb/get-azCosmos DBtablerestorabletable) cmdlet을 사용하여 라이브 계정에 대해 복원 가능한 모든 테이블 버전을 나열합니다.
$parameters = @{ DatabaseAccountInstanceId = "<instance-id-of-account>" Location = "<location>" } Get-AzCosmosDBTableRestorableTable @parameters
Restore-AzCosmos DBTable cmdlet을 사용하여 삭제된 테이블에 대한 복원 작업을 시작합니다. 복원 타임스탬프는 선택 사항입니다. 제공되지 않은 경우 마지막으로 삭제된 테이블 인스턴스가 복원됩니다.
$parameters = @{ ResourceGroupName = "<resource-group-name>" AccountName = "<account-name>" Name = "<table-name>" RestoreTimestampInUtc = "<timestamp>" DisableTtl=$true } Restore-AzCosmos DBTable @parameters
Azure Resource Manager 템플릿을 사용하여 삭제된 컨테이너와 데이터베이스를 복원할 수 있습니다.
템플릿에서 Azure Cosmos DB 리소스를 만들거나 찾습니다. 다음은 리소스의 일반적인 예입니다.
{ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "resources": [ { "name": "msdocs-example-arm", "type": "Microsoft.DocumentDB/databaseAccounts", "apiVersion": "2022-02-15-preview", "location": "West US", "properties": { "locations": [ { "locationName": "West US" } ], "backupPolicy": { "type": "Continuous" }, "databaseAccountOfferType": "Standard" } } ] }
템플릿의 Azure Cosmos DB 리소스를 업데이트하려면 다음을 수행합니다.
properties.createMode
를restore
로 설정합니다.properties.restoreParameters
개체를 정의합니다.properties.restoreParameters.restoreTimestampInUtc
를 UTC 타임스탬프로 설정합니다.properties.restoreParameters.restoreSource
를 복원 작업의 원본인 계정의 인스턴스 식별자로 설정합니다.
{ "properties": { "name": "<name-of-database-or-container>", "restoreParameters": { "restoreSource": "<source-account-instance-id>", "restoreTimestampInUtc": "<timestamp>", "restoreWithTtlDisabled": "true" }, "createMode": "Restore" } }
SQL 컨테이너를 복원하려면 다음 템플릿을 다음과 같이 업데이트합니다.
- resources.name을
<accountname>/databasename>/<containername>
으로 설정합니다. - 복원하려면 resources.properties.resource.createMode를 설정합니다.
- resources.properties.resource.restoreParameters.id 컨테이너 이름을 설정합니다.
- resources.properties.resource.restoreParameters.restoreTimestampInUtc를 UTC 타임스탬프로 설정합니다.
- resources.properties.resource.restoreParameters.restoreSource를 복원 작업의 원본인 계정의 인스턴스 식별자로 설정합니다.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources":[{
"type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers",
"apiVersion": "2023-11-15",
"name": "<accountname>/<databasename>/<containername>",
"properties": {
"resource": {
"id": "<containername>",
"restoreParameters": {
"restoreSource": "/subscriptions/<subscriptionid>/providers/Microsoft.DocumentDB/locations/<lowercaselocationwithoutspace>/restorableDatabaseAccounts/<databaseaccountinstanceId>",
"restoreTimestampInUtc": "<restore timestamp is utc iso format>"
},
"createMode": "Restore"
}
}
}
]
}
SQL 데이터베이스를 복원하려면 다음 템플릿을 다음과 같이 업데이트합니다.
- resources.name을
<accountname>/databasename>
으로 설정합니다. - 복원하려면 resources.properties.resource.createMode를 설정합니다.
- resources.properties.resource.restoreParameters.id 데이터베이스 이름을 설정합니다.
- resources.properties.resource.restoreParameters.restoreTimestampInUtc를 UTC 타임스탬프로 설정합니다.
- resources.properties.resource.restoreParameters.restoreSource를 복원 작업의 원본인 계정의 인스턴스 식별자로 설정합니다.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases",
"apiVersion": "2023-11-15",
"name": "<account name>/<database name>",
"properties": {
"resource": {
"id": "<database name>",
"restoreParameters": {
"restoreSource": "/subscriptions/<subscriptionId>/providers/Microsoft.DocumentDB/locations/<location>/restorableDatabaseAccounts/<databaseaccountinstanceid>",
"restoreTimestampInUtc": "restore timestamp"
},
"createMode": "Restore"
}
}
}
]
}
{
"properties": {
"name": "<name-of-database-or-collection>",
"restoreParameters": {
"restoreSource": "<source-account-instance-id>",
"restoreTimestampInUtc": "<timestamp>",
"restoreWithTtlDisabled": "true"
},
"createMode": "Restore"
}
}
Mongo 컬렉션을 복원하려면 다음 템플릿을 다음과 같이 업데이트합니다.
- resources.name을
<accountname>/databasename>/<collectionname>
으로 설정합니다. - 복원하려면 resources.properties.resource.createMode를 설정합니다.
- resources.properties.resource.restoreParameters.id 컬렉션 이름을 설정합니다.
- resources.properties.resource.restoreParameters.restoreTimestampInUtc를 UTC 타임스탬프로 설정합니다.
- resources.properties.resource.restoreParameters.restoreSource를 복원 작업의 원본인 계정의 인스턴스 식별자로 설정합니다.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"type": "Microsoft.DocumentDB/databaseAccounts/ mongoDBDatabases/collections",
"apiVersion": "2023-11-15",
"name": "<accountname>/<databasename>/<collectionname>",
"properties": {
"resource": {
"id": "<collectionname>",
"restoreParameters": {
"restoreSource": "/subscriptions/<subscriptionid>/providers/Microsoft.DocumentDB/locations/<lowercaselocationwithoutspace>/restorableDatabaseAccounts/<databaseaccountinstanceId>",
"restoreTimestampInUtc": "<restore timestamp is utc iso format>"
},
"createMode": "Restore"
}
}
}
]
}
Mongo 데이터베이스를 복원하려면 다음 템플릿을 다음과 같이 업데이트합니다.
- resources.name을
<accountname>/databasename>
으로 설정합니다. - 복원하려면 resources.properties.resource.createMode를 설정합니다.
- resources.properties.resource.restoreParameters.id 데이터베이스 이름을 설정합니다.
- resources.properties.resource.restoreParameters.restoreTimestampInUtc를 UTC 타임스탬프로 설정합니다.
- resources.properties.resource.restoreParameters.restoreSource를 복원 작업의 원본인 계정의 인스턴스 식별자로 설정합니다.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"type": "Microsoft.DocumentDB/databaseAccounts/mongoDBDatabases",
"apiVersion": "2023-11-15",
"name": "<account name>/<database name>",
"properties": {
"resource": {
"id": "<database name>",
"restoreParameters": {
"restoreSource": "/subscriptions/<subscriptionId>/providers/Microsoft.DocumentDB/locations/<location>/restorableDatabaseAccounts/<databaseaccountinstanceid>",
"restoreTimestampInUtc": "restore timestamp"
},
"createMode": "Restore"
}
}
}
]
}
{
"properties": {
"name": "<name-of-database-or-graph>",
"restoreParameters": {
"restoreSource": "<source-account-instance-id>",
"restoreTimestampInUtc": "<timestamp>",
"restoreWithTtlDisabled": "true"
},
"createMode": "Restore"
}
}
Gremlin 그래프를 복원하려면 다음 템플릿을 다음과 같이 업데이트합니다.
- resources.name을
<accountname>/databasename>/<graphname>
으로 설정합니다. - 복원하려면 resources.properties.resource.createMode를 설정합니다.
- resources.properties.resource.restoreParameters.id 그래프 이름을 설정합니다.
- resources.properties.resource.restoreParameters.restoreTimestampInUtc를 UTC 타임스탬프로 설정합니다.
- resources.properties.resource.restoreParameters.restoreSource를 복원 작업의 원본인 계정의 인스턴스 식별자로 설정합니다.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"type": "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases/graphs",
"apiVersion": "2023-11-15",
"name": "<accountname>/<databasename>/<graphname>",
"properties": {
"resource": {
"id": "<graphname>",
"restoreParameters": {
"restoreSource": "/subscriptions/<subscriptionid>/providers/Microsoft.DocumentDB/locations/<lowercaselocationwithoutspace>/restorableDatabaseAccounts/<databaseaccountinstanceId>",
"restoreTimestampInUtc": "<restore timestamp is utc iso format>"
},
"createMode": "Restore"
}
}
}
]
}
Gremlin 데이터베이스를 복원하려면 다음 템플릿을 다음과 같이 업데이트합니다.
- resources.name을
<accountname>/databasename>
으로 설정합니다. - 복원하려면 resources.properties.resource.createMode를 설정합니다.
- resources.properties.resource.restoreParameters.id 데이터베이스 이름을 설정합니다.
- resources.properties.resource.restoreParameters.restoreTimestampInUtc를 UTC 타임스탬프로 설정합니다.
- resources.properties.resource.restoreParameters.restoreSource를 복원 작업의 원본인 계정의 인스턴스 식별자로 설정합니다.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"type": "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases",
"apiVersion": "2023-11-15",
"name": "<account name>/<database name>",
"properties": {
"resource": {
"id": "<database name>",
"restoreParameters": {
"restoreSource": "/subscriptions/<subscriptionId>/providers/Microsoft.DocumentDB/locations/<location>/restorableDatabaseAccounts/<databaseaccountinstanceid>",
"restoreTimestampInUtc": "restore timestamp"
},
"createMode": "Restore"
}
}
}
]
}
{
"properties": {
"name": "<name-of-table>",
"restoreParameters": {
"restoreSource": "<source-account-instance-id>",
"restoreTimestampInUtc": "<timestamp>",
"restoreWithTtlDisabled": "true"
},
"createMode": "Restore"
}
}
테이블을 복원하려면 다음 템플릿을 다음과 같이 업데이트합니다.
- resources.name을
<accountname>/tablename>
으로 설정합니다. - 복원하려면 resources.properties.resource.createMode를 설정합니다.
- resources.properties.resource.restoreParameters.id 테이블 이름을 설정합니다.
- resources.properties.resource.restoreParameters.restoreTimestampInUtc를 UTC 타임스탬프로 설정합니다.
- resources.properties.resource.restoreParameters.restoreSource를 복원 작업의 원본인 계정의 인스턴스 식별자로 설정합니다.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"type": "Microsoft.DocumentDB/databaseAccounts/tables",
"apiVersion": "2023-11-15",
"name": "<account name>/<table name>",
"properties": {
"resource": {
"id": "<table name>",
"restoreParameters": {
"restoreSource": "/subscriptions/<subscriptionId>/providers/Microsoft.DocumentDB/locations/<location>/restorableDatabaseAccounts/<databaseaccountinstanceid>",
"restoreTimestampInUtc": "restore timestamp"
},
"createMode": "Restore"
}
}
}
]
}
참고 항목
az cosmosdb restorable-database-account list 명령을 사용하여 모든 라이브 및 삭제된 복원 가능 데이터베이스 계정의 인스턴스 식별자 목록을 검색합니다.
az deployment group create 명령을 사용하여 템플릿을 배포합니다.
az deployment group create \ --resource-group <resource-group-name> \ --template-file <template-filename>
복원 작업의 상태 추적
삭제된 컨테이너 또는 데이터베이스의 특정 시점 복원 작업이 시작되면 해당 작업은 리소스에 대한 InAccount 복원 작업으로 식별됩니다.
특정 리소스의 복원 작업 목록을 가져오려면 InAccount Restore Deleted 검색 필터와 시간 필터를 사용하여 계정의 활동 로그를 필터링합니다. 반환되는 목록에는 복원 작업을 시작한 사용자를 식별하는 UserPrincipalName 필드가 포함됩니다. 활동 로그에 액세스하는 방법에 대한 자세한 내용은 특정 시점 복원 작업 감사를 참조하세요.
현재는 계정의 활동 로그를 얻으려면 Azure Portal을 사용해야 합니다. InAccount Restore Deleted 검색 필터와 시간 필터를 사용합니다.
현재는 계정의 활동 로그를 얻으려면 Azure Portal을 사용해야 합니다. InAccount Restore Deleted 검색 필터와 시간 필터를 사용합니다.
현재는 계정의 활동 로그를 얻으려면 Azure Portal을 사용해야 합니다. InAccount Restore Deleted 검색 필터와 시간 필터를 사용합니다.
다음 단계
- Azure Portal, PowerShell, Azure CLI 또는 Azure Resource Manager를 사용하여 지속적인 백업을 사용하도록 설정합니다.
- 정기적 백업에서 지속적인 백업으로 계정을 마이그레이션하는 방법을 알아봅니다.
- 지속적인 백업 모드 리소스 모델을 검토합니다.
- 지속적인 백업 모드를 사용하여 데이터를 복원하는 데 필요한 권한을 관리합니다.
피드백
이 페이지가 도움이 되었나요?