Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makalede, REST API kullanılarak Azure Backup tarafından oluşturulan bir geri yükleme noktasından Azure VM'deki sql server veritabanının nasıl geri yükleneceği açıklanır.
Bu makalenin sonunda REST API kullanarak aşağıdaki işlemleri gerçekleştirmeyi öğreneceksiniz:
- Yedeklenen SQL veritabanının geri yükleme noktalarını görüntüleyin.
- Tam sql veritabanını geri yükleyin.
Not
Desteklenen yapılandırmalar ve senaryolar hakkında daha fazla bilgi edinmek için SQL yedekleme destek matrisine bakın.
Önkoşullar
Geri yükleme için yedeklenmiş bir SQL veritabanınız olduğunu varsayıyoruz. Veritabanınız yoksa oluşturmak için bkz . REST API kullanarak Azure VM'lerinde SQL Server veritabanlarını yedekleme.
Bu makale için aşağıdaki kaynakları kullanacağız:
- Kurtarma Hizmetleri kasası: SQLServer2012
- Kaynak grubu: SQLServerSelfHost
- SQL server: sqlserver-0
- SQL veritabanı: msdb
Birincil bölge geri yükleme
Birincil bölgede normal bir geri yükleme işi tetikleme için aşağıdaki bölümlere bakın. Bölgeler arası geri yükleme için Bölgeler arası geri yükleme bölümüne bakın.
ContainerName ve ProtectedItemName'i getirme
Geri yüklemeyle ilgili API çağrılarının çoğu için ve {containerName}
URI parametrelerinin {protectedItemName}
değerlerini geçirmeniz gerekir. Bu parametrelerin değerlerini almak için GET backupprotectableitems işleminin yanıt gövdesindeki ID özniteliğini kullanın. Örneğimizde, korumak istediğimiz veritabanının kimliği şu şekildedir:
/subscriptions/00000000-0000-0000-0000-0000000000/resourceGroups/SQLServerSelfHost/providers/microsoft.recoveryservices/vaults/SQLServer2012/backupFabrics/Azure/protectionContainers/VMAppContainer;Compute;SQLServerPMDemo;sqlserver-0/protectedItems/sqldatabase;mssqlserver;msdb
Değerler aşağıdaki gibi çevrilir:
-
{containername}
: VMAppContainer; Hesaplamak; SQLServerPMDemo; sqlserver-0 -
{protectedItemName}
: sqldatabase; mssqlserver; msdb
Yedeklenen SQL veritabanı için kurtarma noktalarını getirme
Yedeklenen veritabanlarını geri yüklemek için:
Geri yükleme işlemini gerçekleştirmek için bir kurtarma noktası seçin.
Kurtarma Noktası Listesi REST API çağrısını kullanarak yedeklenen bir öğenin kullanılabilir kurtarma noktalarını listeleyin . Tüm ilgili değerleri içeren bir GET işlemidir.
GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints?api-version=2016-12-01
URI değerlerini aşağıdaki gibi ayarlayın:
-
{fabricName}
: Azure -
{vaultName}
: SQLServer2012 -
{containerName}
: VMAppContainer; Hesaplamak; SQLServerPMDemo; sqlserver-0 -
{protectedItemName}
: sqldatabase; mssqlserver; msdb -
{resourceGroupName}
: SQLServerSelfHost
GET URI'sinde gerekli tüm parametreler bulunur. Ek istek gövdesi gerekmez.
GET "https://management.azure.com/subscriptions/00000000-0000-0000-0000-0000000000/resourceGroups/SQLServerSelfHost/providers/microsoft.RecoveryServices/vaults/SQLServer2012/backupFabrics/Azure/protectionContainers/VMAppContainer;Compute;SQLServerPMDemo;sqlserver-0/protectedItems/sqldatabase;mssqlserver;msdb/recoveryPoints?api-version=2016-12-01"
-
Kurtarma noktalarını getirme için örnek yanıt
GET URI'sini gönderdikten sonra 200 yanıtı döndürülür:
HTTP/1.1 200 OK
Pragma: no-cache
X-Content-Type-Options: nosniff
x-ms-request-id: fab6cc6f-db1e-4ac1-acac-fc82ebdb1fdb
x-ms-client-request-id: 6fb93717-2876-47df-b01f-d53af5f08785; 6fb93717-2876-47df-b01f-d53af5f08785
Strict-Transport-Security: max-age=31536000; includeSubDomains
x-ms-ratelimit-remaining-subscription-reads: 14999
x-ms-correlation-request-id: fab6cc6f-db1e-4ac1-acac-fc82ebdb1fdb
x-ms-routing-request-id: SOUTHINDIA:20180604T061127Z:fab6cc6f-db1e-4ac1-acac-fc82ebdb1fdb
Cache-Control: no-cache
Date: Mon, 04 Jun 2018 06:11:26 GMT
Server: Microsoft-IIS/8.0
X-Powered-By: ASP.NET
{
"value": [
{
"id": "/subscriptions/00000000-0000-0000-0000-0000000000/resourceGroups/SQLServerSelfHost/providers/microsoft.recoveryservices/vaults/SQLServer2012/backupFabrics/Azure/protectionContainers/VMAppContainer;Compute;SQLServerPMDemo;sqlserver-0/protectedItems/SQLDataBase;mssqlserver;msdb/recoveryPoints/55515936059579",
"name": "55515936059579",
"type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints",
"properties": {
"objectType": "AzureWorkloadSQLRecoveryPoint",
"recoveryPointTimeInUTC": "2018-06-01T22:15:12Z",
"type": "Full"
}
},
{
"id": "/subscriptions/00000000-0000-0000-0000-0000000000/resourceGroups/SQLServerSelfHost/providers/microsoft.recoveryservices/vaults/SQLServer2012/backupFabrics/Azure/protectionContainers/VMAppContainer;Compute;SQLServerPMDemo;sqlserver-0/protectedItems/SQLDataBase;mssqlserver;msdb/recoveryPoints/62043109781074",
"name": "62043109781074",
"type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints",
"properties": {
"objectType": "AzureWorkloadSQLRecoveryPoint",
"recoveryPointTimeInUTC": "2018-05-31T22:15:08Z",
"type": "Full"
}
},
{
"id": "/subscriptions/00000000-0000-0000-0000-0000000000/resourceGroups/SQLServerSelfHost/providers/microsoft.recoveryservices/vaults/SQLServer2012/backupFabrics/Azure/protectionContainers/VMAppContainer;Compute;SQLServerPMDemo;sqlserver-0/protectedItems/SQLDataBase;mssqlserver;msdb/recoveryPoints/69710749096214",
"name": "69710749096214",
"type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints",
"properties": {
"objectType": "AzureWorkloadSQLRecoveryPoint",
"recoveryPointTimeInUTC": "2018-05-30T22:15:09Z",
"type": "Full"
}
},
{
"id": "/subscriptions/00000000-0000-0000-0000-0000000000/resourceGroups/SQLServerSelfHost/providers/microsoft.recoveryservices/vaults/SQLServer2012/backupFabrics/Azure/protectionContainers/VMAppContainer;Compute;SQLServerPMDemo;sqlserver-0/protectedItems/SQLDataBase;mssqlserver;msdb/recoveryPoints/55459165802209",
"name": "55459165802209",
"type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints",
"properties": {
"objectType": "AzureWorkloadSQLRecoveryPoint",
"recoveryPointTimeInUTC": "2018-05-29T22:15:15Z",
"type": "Full"
}
},
{
"id": "/subscriptions/00000000-0000-0000-0000-0000000000/resourceGroups/SQLServerSelfHost/providers/microsoft.recoveryservices/vaults/SQLServer2012/backupFabrics/Azure/protectionContainers/VMAppContainer;Compute;SQLServerPMDemo;sqlserver-0/protectedItems/SQLDataBase;mssqlserver;msdb/recoveryPoints/56798287946753",
"name": "56798287946753",
"type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints",
"properties": {
"objectType": "AzureWorkloadSQLRecoveryPoint",
"recoveryPointTimeInUTC": "2018-05-28T13:18:15Z",
"type": "Full"
}
},
{
"id": "/subscriptions/00000000-0000-0000-0000-0000000000/resourceGroups/SQLServerSelfHost/providers/microsoft.recoveryservices/vaults/SQLServer2012/backupFabrics/Azure/protectionContainers/VMAppContainer;Compute;SQLServerPMDemo;sqlserver-0/protectedItems/SQLDataBase;mssqlserver;msdb/recoveryPoints/DefaultRangeRecoveryPoint",
"name": "DefaultRangeRecoveryPoint",
"type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints",
"properties": {
"objectType": "AzureWorkloadSQLPointInTimeRecoveryPoint",
"timeRanges": [
{
"startTime": "2018-05-28T11:03:34Z",
"endTime": "2018-06-02T00:02:31Z"
}
],
"type": "Log"
}
}
]
}
Kurtarma noktası, yukarıdaki yanıttaki {name}
alanla tanımlanır.
REST API kullanarak veritabanı kurtarma
Geri yüklemeyi tetikleme bir POST isteğidir. Bu işlemi gerçekleştirmek için tetikleyici geri yükleme REST API'sini kullanın.
POST https://management.azure.com/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/restore?api-version=2019-05-13
{containerName} ve {protectedItemName} değerleri burada ayarlanmıştır ve recoveryPointID, yukarıda belirtilen kurtarma noktasının {name} alanıdır.
POST https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SQLServerSelfHost/providers/Microsoft.RecoveryServices/vaults/SQLServer2012/backupFabrics/Azure/protectionContainers/VMAppContainer;Compute;SQLServerPMDemo;sqlserver-0/protectedItems/sqldatabase;mssqlserver;msdb/recoveryPoints/56798287946753/restore?api-version=2019-05-13'
İstek gövdesi oluşturma
Veritabanını aynı veri dizinine geri yüklemek için istek gövdesi örneği
Aşağıdaki istek gövdesi, SQL veritabanı geri yüklemesini aynı veri dizinine tetikleme için gereken özellikleri tanımlar.
{
"properties":{
"objectType":"AzureWorkloadSQLRestoreRequest",
"shouldUseAlternateTargetLocation":false,
"isNonRecoverable":false,
"targetInfo":{"ContainerName": "compute;SQLServerPMDemo;sqlserver-0", "DatabaseName" : "SQLINSTANCE/msdb"},
"alternateDirectoryPaths":null,
"isFallbackOnDefaultDirectoryEnabled":true,
"recoveryType":"AlternateLocation",
"sourceResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SQLServerPMDemo/providers/Azure/virtualmachines/compute;SQLServerPMDemo;sqlserver-0"
}
}
Veritabanını alternatif bir veri dizinine geri yüklemek için istek gövdesi örneği
Aşağıdaki istek gövdesi, SQL veritabanı geri yüklemesini aynı veri dizinine tetikleme için gereken özellikleri tanımlar.
{
"properties":{
"objectType":"AzureWorkloadSQLRestoreRequest",
"shouldUseAlternateTargetLocation":true,
"isNonRecoverable":false,
"targetInfo":
{
"overwriteOption":"Overwrite","containerName":"compute;oneboxrg;oneboxvm","databaseName":"SQLINSTANCE/msdb"},
"alternateDirectoryPaths":[{"mappingType":"Log","sourcePath":"C:\\SQLfiles\\Default.ldf","targetPath":"C:\\SQLFiles\\Temp.ldf"}],
"recoveryType":"AlternateLocation",
"sourceResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SQLServerPMDemo/providers/Azure/virtualmachines/compute;SQLServerPMDemo;sqlserver-0"
}
}
}
Yanıt
Geri yükleme işleminin tetiklenmesi zaman uyumsuz bir işlemdir. Bu işlem ayrı olarak izlenmesi gereken başka bir işlem oluşturur.
İki yanıt döndürür: Başka bir işlem oluşturulduğunda 202 (Kabul Edildi) ve bu işlem tamamlandığında 200 (Tamam).
Yanıt örneği
Status Code:
OK
Headers:
Pragma : no-cache
Cache-Control : no-cache
Server : Microsoft-IIS/10.0,Microsoft-IIS/10.0
X-Content-Type-Options : nosniff
x-ms-request-id : f17973f5-c788-482f-8aad-6bb50e647a2e
x-ms-client-request-id : b0356a0e-c68d-4ac2-a53f-4f546685146d,b0356a0e-c68d-4ac2-a53f-4f546685146d
X-Powered-By : ASP.NET
Strict-Transport-Security : max-age=31536000; includeSubDomains
x-ms-ratelimit-remaining-subscription-resource-requests: 149
x-ms-correlation-request-id : f17973f5-c788-482f-8aad-6bb50e647a2e
x-ms-routing-request-id : SOUTHINDIA:20210801T104711Z:f17973f5-c788-482f-8aad-6bb50e647a2e
Date : Sun, 01 Aug 2021 10:47:11 GMT
{
"id":"/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SQLServerSelfHost/providers/Microsoft.RecoveryServices/vaults/SQLServer2012/backupJobs/0bda1a53-73fa-427e-9a1c-72a2016adee3",
"name": "0bda1a53-73fa-427e-9a1c-72a2016adee3",
"type": "Microsoft.RecoveryServices/vaults/backupJobs",
"properties": {
"jobType": "AzureWorkloadJob",
"actionsInfo": [
1
],
"workloadType": "SQLDataBase",
"duration": "PT1.6543659S",
"extendedInfo": {
"tasksList": [
{
"taskId": "Transfer data from vault",
"status": "InProgress"
}
],
"propertyBag": {
"Job Type": "Recovery to the original database"
}
},
"isUserTriggered": true,
"entityFriendlyName": "msdb [sqlserver-0]",
"backupManagementType": "AzureWorkload",
"operation": "Restore",
"status": "InProgress",
"startTime": "2021-08-01T10:47:09.5865449Z",
"activityId": "b0356a0e-c68d-4ac2-a53f-4f546685146d"
}
}
Bölgeler arası geri yükleme
Bölgeler arası geri yüklemeyi etkinleştirdiyseniz kurtarma noktaları ikincil eşleştirilmiş bölgeye de çoğaltılır. Ardından bu kurtarma noktalarını getirebilir ve bu eşleştirilmiş bölgede bulunan bir makineye geri yüklemeyi tetikleyebilirsiniz. Normal geri yükleme ile hedef makinenin ikincil bölgedeki hedef kasaya kaydedilmesi gerekir. Aşağıdaki adımlar uçtan uca işlemi açıklar:
İkincil bölgeye çoğaltılan yedekleme öğelerini getirin.
Aşağıdaki örnekte aşağıdakilere sahip olmanız gerekir:
- Kapsayıcı: VMAppContainer; Hesaplamak; SQLServerPMDemo; sqlserver-0
- Korumalı öğe: sqldatabase; mssqlserver; msdb) bu belgenin önceki bölümlerinde belirtilen adımları kullanarak geri yüklenmesi gereken veritabanı için.
İkincil bölgeye çoğaltılan kurtarma noktalarını (ayrı ve/veya günlükler) getirin.
İkincil eşleştirilmiş bölge içindeki bir kasaya kayıtlı bir hedef sunucu seçin.
Bu sunucuya geri yüklemeyi tetikleyin ve JobId kullanarak izleyin.
Not
İkincil bölgede kullanılabilir yedekleme verilerinin RPO değeri 12 saattir. Bu nedenle, CRR'yi açtığınızda, ikincil bölgenin RPO'sunun 12 saat + günlük sıklığı süresi (en az 15 dakika olarak ayarlanabilir) olur.
İkincil bölgeden ayrı kurtarma noktaları getirme
İkincil bölgedeki veritabanı için kullanılabilir kurtarma noktalarının listesini getirmek için Kurtarma Noktalarını Listele API'sini kullanın. Aşağıdaki örnekte, belirli bir zaman aralığındaki tam ve fark kurtarma noktalarını getirmek için isteğe bağlı bir filtre uygulanır.
GET "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SQLServerSelfHost/providers/Microsoft.RecoveryServices/vaults/SQLServer2012/backupFabrics/Azure/protectionContainers/VMAppContainer;compute;SQLServerPMDemo;sqlserver-0/protectedItems/SQLDataBase;mssqlserver;msdb/recoveryPoints/?$filter=startDate eq'2021-07-25 08:41:32 AM' and endDate eq '2021-08-01 08:41:45 AM' and restorePointQueryType eq 'FullAndDifferential' and extendedInfo eq 'True'&api-version=2018-12-20"
Kurtarma noktalarını getirmek için örnek Yanıt
Headers:
Pragma : no-cache
X-Content-Type-Options : nosniff
x-ms-request-id : 66b3fbb4-e38a-4a4b-98c7-56db66ab52e6
x-ms-client-request-id : 35eb7834-8b5c-4a2c-adda-eee2ed02eb08,35eb7834-8b5c-4a2c-adda-eee2ed02eb08
Strict-Transport-Security : max-age=31536000; includeSubDomains
x-ms-ratelimit-remaining-subscription-resource-requests: 149
x-ms-correlation-request-id : 66b3fbb4-e38a-4a4b-98c7-56db66ab52e6
x-ms-routing-request-id : SOUTHINDIA:20210801T102906Z:66b3fbb4-e38a-4a4b-98c7-56db66ab52e6
Cache-Control : no-cache
Date : Sun, 01 Aug 2021 10:29:06 GMT
Server : Microsoft-IIS/10.0
X-Powered-By : ASP.NET
Body:
{
"value": [
{
"id":
"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SQLServerSelfHost/providers/Microsoft.RecoveryServices/vaults/SQLServer2012/backupFabrics/Azure/protectionContainers/VMAppContainer;compute;SQLServerPMDemo;sqlserver-0/protectedItems/SQLDataBase;mssqlserver;msdb/RecoveryPoints/932604119111216382",
"name": "932604119111216382",
"type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints",
"properties": {
"objectType": "AzureWorkloadSQLRecoveryPoint",
"recoveryPointTimeInUTC": "2021-07-31T16:33:48Z",
"type": "Full"
}
},
{
"id":
"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SQLServerSelfHost/providers/Microsoft.RecoveryServices/vaults/SQLServer2012/backupFabrics/Azure/protectionContainers/VMAppContainer;compute;SQLServerPMDemo;sqlserver-0/protectedItems/SQLDataBase;mssqlserver;msdb/RecoveryPoints/932599942005436803",
"name": "932599942005436803",
"type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints",
"properties": {
"objectType": "AzureWorkloadSQLRecoveryPoint",
"recoveryPointTimeInUTC": "2021-07-30T16:33:49Z",
"type": "Full"
}
},
.....
Kurtarma noktası, yukarıdaki yanıttaki {name}
alanla tanımlanır.
Erişim belirteci alma
Bölgeler arası geri yükleme gerçekleştirmek için, Azure Backup hizmetleri arasında doğru iletişimi etkinleştirmek için bir erişim belirteci gerekir. Erişim belirteci almak için şu adımları izleyin:
İkincil bölgenin (aşağıdaki örnekte westus) Microsoft Entra özelliklerini getirmek için Microsoft Entra Properties API'sini kullanın.
GET https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/westus/backupAadProperties?api-version=2018-12-20
Döndürülen yanıt aşağıdaki biçimdedir:
{ "properties": { "tenantId": "00000000-0000-0000-0000-000000000000", "audience": "https://RecoveryServices/IaasCoord/aadmgmt/wus", "servicePrincipalObjectId": "00000000-0000-0000-0000-000000000000" } }
Azure Backup hizmetleri arasında iletişimi etkinleştirmek üzere erişim belirteci almak için Erişim Belirteci Al API'sini kullanın.
POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/accessToken?api-version=2018-12-20
İstek gövdesi için, önceki adımda Microsoft Entra Properties API tarafından döndürülen yanıtın içeriğini yapıştırın.
Döndürülen yanıt biçimi aşağıdaki gibidir:
{ "protectableObjectUniqueName": "MSSQLSERVER/model", "protectableObjectFriendlyName": "msdb", "protectableObjectWorkloadType": "SQL", "protectableObjectProtectionState": "Protected", "protectableObjectContainerHostOsName": "sqlserver-0", "protectableObjectParentLogicalContainerName": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SQLServerPMDemo/providers/Microsoft.Compute/virtualMachines/sqlserver-0", "containerId": "0000000", "policyName": "HourlyLogBackup", "policyId": "00000000-0000-0000-0000-000000000000", "objectType": "WorkloadCrrAccessToken", "accessTokenString": "<access-token-string>", "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "SQLServerSelfHost", "resourceName": "SQLServer2012", "resourceId": "0000000000000000000", "protectionContainerId": 0000000, "recoveryPointId": "932603497994988273", "recoveryPointTime": "7/31/2021 4:33:17 PM", "containerName": "Compute;SQLServerPMDemo;sqlserver-0", "containerType": "VMAppContainer", "backupManagementType": "AzureWorkload", "datasourceType": "SQLDataBase", "datasourceName": "msdb", "datasourceId": "932350676859704517", "datasourceContainerName": "Compute;SQLServerPMDemo;sqlserver-0", "coordinatorServiceStampId": "00000000-0000-0000-0000-000000000000", "coordinatorServiceStampUri": "https://pod01-wbcm1.eus.backup.windowsazure.com", "protectionServiceStampId": "00000000-0000-0000-0000-000000000000", "protectionServiceStampUri": "https://pod01-prot1j-int.eus.backup.windowsazure.com", "rpOriginalSAOption": false, "rpIsManagedVirtualMachine": false, "bMSActiveRegion": "EastUS" }
Diskleri ikincil bölgeye geri yükleme
Bir öğeyi ikincil bölgeye geri yüklemek için Bölgeler Arası Geri Yükleme Tetikleyici API'sini kullanın.
POST https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupCrossRegionRestore?api-version=2018-12-20
İstek gövdesinin iki bölümü olmalıdır:
crossRegionRestoreAccessDetails: İstek gövdesinin bu kesimini doldurmak için önceki adımda gerçekleştirilen Erişim Belirteci Alma API'sinden yanıtın özellikler bloğunu yapıştırın.
restoreRequest: İstek gövdesinin restoreRequest kesimini doldurmak için, veritabanının geri yüklenmesi gereken kapsayıcının (ikincil bölgedeki bir kasaya kayıtlı) ayrıntılarını ve geri yüklenen veritabanının depolanması gereken adı iletmeniz gerekir. tam yedeklemenin ikincil bölgeye geri yüklenmesini gerçekleştirmek için kurtarma türü olarak AlternateLocation değerini belirtin.
Vm'nin disklerini ikincil bölgeye geri yüklemek için örnek istek gövdesi aşağıdaki gibidir:
{
"crossRegionRestoreAccessDetails": {
"protectableObjectUniqueName": "MSSQLSERVER/model",
"protectableObjectFriendlyName": "msdb",
"protectableObjectWorkloadType": "SQL",
"protectableObjectProtectionState": "Protected",
"protectableObjectContainerHostOsName": "sqlserver-0",
"protectableObjectParentLogicalContainerName": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SQLServerPMDemo/providers/Microsoft.Compute/virtualMachines/sqlserver-0",
"containerId": "0000000",
"policyName": "HourlyLogBackup",
"policyId": "00000000-0000-0000-0000-000000000000",
"objectType": "WorkloadCrrAccessToken",
"accessTokenString": "<access-token-string>",
"subscriptionId": "00000000-0000-0000-0000-000000000000",
"resourceGroupName": "SQLServerSelfHost",
"resourceName": "SQLServer2012",
"resourceId": "0000000000000000000",
"protectionContainerId": 0000000,
"recoveryPointId": "932603497994988273",
"recoveryPointTime": "7/31/2021 4:33:17 PM",
"containerName": "Compute;SQLServerPMDemo;sqlserver-0",
"containerType": "VMAppContainer",
"backupManagementType": "AzureWorkload",
"datasourceType": "SQLDataBase",
"datasourceName": "msdb",
"datasourceId": "932350676859704517",
"datasourceContainerName": "Compute;SQLServerPMDemo;sqlserver-0",
"coordinatorServiceStampId": "00000000-0000-0000-0000-000000000000",
"coordinatorServiceStampUri": "https://pod01-wbcm1.eus.backup.windowsazure.com",
"protectionServiceStampId": "00000000-0000-0000-0000-000000000000",
"protectionServiceStampUri": "https://pod01-prot1j-int.eus.backup.windowsazure.com",
"rpOriginalSAOption": false,
"rpIsManagedVirtualMachine": false,
"bMSActiveRegion": "EastUS"
},
"restoreRequest": {
"objectType": "AzureWorkloadSQLRestoreRequest",
"shouldUseAlternateTargetLocation": true,
"isNonRecoverable": false,
"alternateDirectoryPaths": [],
"recoveryType": "AlternateLocation",
"sourceResourceId":"/subscriptions/600000000-0000-0000-0000-000000000000/resourceGroups/SQLServerPMDemo/providers/Microsoft.Compute/virtualMachines/sqlserver-0",
"targetInfo": {
"overwriteOption": "FailOnConflict",
"containerId":"/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/RestoreRG/providers/Microsoft.RecoveryServices/vaults/wusRestoreVault/backupFabrics/Azure/protectionContainers/vmappcontainer;compute;restorerg;wusrestorevm",
"databaseName": "MSSQLSERVER/msdb_restored_8_1_2021_1758"
}
}
}
Sonraki adımlar
Azure portalı, Azure CLI, REST API ile Azure VM'lerindeki SQL server veritabanlarını yönetin.
Azure Backup REST API'leri hakkında daha fazla bilgi için aşağıdaki belgelere bakın: